aboutsummaryrefslogtreecommitdiff
path: root/src/cadet/gnunet-service-cadet-new.h
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2017-01-16 18:13:09 +0100
committerChristian Grothoff <christian@grothoff.org>2017-01-16 18:13:25 +0100
commitd55c8698825605630770157c786e064af0c20467 (patch)
tree3378ff4d011a9553939a01cb6afdd9cd2f70a679 /src/cadet/gnunet-service-cadet-new.h
parent73a48a626764013ab9f332810b5f7715c60105b4 (diff)
downloadgnunet-d55c8698825605630770157c786e064af0c20467.tar.gz
gnunet-d55c8698825605630770157c786e064af0c20467.zip
more work on peers, paths and tunnels
Diffstat (limited to 'src/cadet/gnunet-service-cadet-new.h')
-rw-r--r--src/cadet/gnunet-service-cadet-new.h26
1 files changed, 19 insertions, 7 deletions
diff --git a/src/cadet/gnunet-service-cadet-new.h b/src/cadet/gnunet-service-cadet-new.h
index 2b68862b7..9521b6363 100644
--- a/src/cadet/gnunet-service-cadet-new.h
+++ b/src/cadet/gnunet-service-cadet-new.h
@@ -31,27 +31,32 @@
31#include "gnunet_util_lib.h" 31#include "gnunet_util_lib.h"
32 32
33/** 33/**
34 * A client to the CADET service. 34 * A client to the CADET service. Each client gets a unique handle.
35 */ 35 */
36struct CadetClient; 36struct CadetClient;
37 37
38/** 38/**
39 * A peer in the GNUnet network. 39 * A peer in the GNUnet network. Each peer we care about must have one globally
40 * unique such handle within this process.
40 */ 41 */
41struct CadetPeer; 42struct CadetPeer;
42 43
43/** 44/**
44 * Tunnel from us to another peer. 45 * Tunnel from us to another peer. There can only be at most one
46 * tunnel per peer.
45 */ 47 */
46struct CadetTunnel; 48struct CadetTunnel;
47 49
48/** 50/**
49 * Entry in the message queue of a `struct CadetTunnel` 51 * Entry in the message queue of a `struct CadetTunnel`.
50 */ 52 */
51struct CadetTunnelQueueEntry; 53struct CadetTunnelQueueEntry;
52 54
53/** 55/**
54 * A path of peer in the GNUnet network. 56 * A path of peer in the GNUnet network. There must only be at most
57 * once such path. Paths may share disjoint prefixes, but must all
58 * end at a unique suffix. Paths must also not be proper subsets of
59 * other existing paths.
55 */ 60 */
56struct CadetPeerPath; 61struct CadetPeerPath;
57 62
@@ -81,6 +86,11 @@ struct CadetPeerPathEntry
81 struct CadetPeerPath *path; 86 struct CadetPeerPath *path;
82 87
83 /** 88 /**
89 * Connection using this path, or NULL for none.
90 */
91 struct CadetConnection *cc;
92
93 /**
84 * Path's historic score up to this point. Basically, how often did 94 * Path's historic score up to this point. Basically, how often did
85 * we succeed or fail to use the path up to this entry in a 95 * we succeed or fail to use the path up to this entry in a
86 * connection. Positive values indicate good experiences, negative 96 * connection. Positive values indicate good experiences, negative
@@ -93,12 +103,14 @@ struct CadetPeerPathEntry
93 103
94 104
95/** 105/**
96 * Active path through the network (used by a tunnel). 106 * Active path through the network (used by a tunnel). There may
107 * be at most one connection per path.
97 */ 108 */
98struct CadetConnection; 109struct CadetConnection;
99 110
100/** 111/**
101 * Logical end-to-end conenction between clients. 112 * Logical end-to-end conenction between clients. There can be
113 * any number of channels between clients.
102 */ 114 */
103struct CadetChannel; 115struct CadetChannel;
104 116