aboutsummaryrefslogtreecommitdiff
path: root/src/transport/gnunet-service-transport_ats.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/transport/gnunet-service-transport_ats.h')
-rw-r--r--src/transport/gnunet-service-transport_ats.h58
1 files changed, 45 insertions, 13 deletions
diff --git a/src/transport/gnunet-service-transport_ats.h b/src/transport/gnunet-service-transport_ats.h
index f09b52375..780e66f60 100644
--- a/src/transport/gnunet-service-transport_ats.h
+++ b/src/transport/gnunet-service-transport_ats.h
@@ -78,14 +78,12 @@ GST_ats_block_address (const struct GNUNET_HELLO_Address *address,
78 * 78 *
79 * @param address the address 79 * @param address the address
80 * @param session the session 80 * @param session the session
81 * @param ats ats information 81 * @param prop performance information
82 * @param ats_count number of @a ats information
83 */ 82 */
84void 83void
85GST_ats_add_inbound_address (const struct GNUNET_HELLO_Address *address, 84GST_ats_add_inbound_address (const struct GNUNET_HELLO_Address *address,
86 struct Session *session, 85 struct Session *session,
87 const struct GNUNET_ATS_Information *ats, 86 const struct GNUNET_ATS_Properties *prop);
88 uint32_t ats_count);
89 87
90 88
91/** 89/**
@@ -93,13 +91,11 @@ GST_ats_add_inbound_address (const struct GNUNET_HELLO_Address *address,
93 * located in. The address must NOT be inbound and must be new to ATS. 91 * located in. The address must NOT be inbound and must be new to ATS.
94 * 92 *
95 * @param address the address 93 * @param address the address
96 * @param ats ats information 94 * @param prop performance information
97 * @param ats_count number of @a ats information
98 */ 95 */
99void 96void
100GST_ats_add_address (const struct GNUNET_HELLO_Address *address, 97GST_ats_add_address (const struct GNUNET_HELLO_Address *address,
101 const struct GNUNET_ATS_Information *ats, 98 const struct GNUNET_ATS_Properties *prop);
102 uint32_t ats_count);
103 99
104 100
105/** 101/**
@@ -115,18 +111,54 @@ GST_ats_new_session (const struct GNUNET_HELLO_Address *address,
115 111
116 112
117/** 113/**
118 * Notify ATS about property changes to an address 114 * Notify ATS about property changes to an address's properties.
115 * FIXME: we probably want to split this one up for the different
116 * updatable properties.
119 * 117 *
120 * @param address the address 118 * @param address the address
121 * @param session the session 119 * @param session the session
122 * @param ats performance information 120 * @param prop updated performance information
123 * @param ats_count number of elements in @a ats
124 */ 121 */
125void 122void
126GST_ats_update_metrics (const struct GNUNET_HELLO_Address *address, 123GST_ats_update_metrics (const struct GNUNET_HELLO_Address *address,
127 struct Session *session, 124 struct Session *session,
128 const struct GNUNET_ATS_Information *ats, 125 const struct GNUNET_ATS_Properties *prop);
129 uint32_t ats_count); 126
127
128/**
129 * Notify ATS about utilization changes to an address.
130 *
131 * @param address our information about the address
132 * @param bps_in new utilization inbound
133 * @param bps_out new utilization outbound
134 */
135void
136GST_ats_update_utilization (const struct GNUNET_HELLO_Address *address,
137 uint32_t bps_in,
138 uint32_t bps_out);
139
140
141/**
142 * Notify ATS about property changes to an address's properties.
143 *
144 * @param address the address
145 * @param session the session
146 * @param delay new delay value
147 */
148void
149GST_ats_update_delay (const struct GNUNET_HELLO_Address *address,
150 struct GNUNET_TIME_Relative delay);
151
152
153/**
154 * Notify ATS about property changes to an address's properties.
155 *
156 * @param address the address
157 * @param distance new distance value
158 */
159void
160GST_ats_update_distance (const struct GNUNET_HELLO_Address *address,
161 uint32_t distance);
130 162
131 163
132/** 164/**