#endif
/*******************************************************************************
- * UTIL message types
+ * UTIL message types
******************************************************************************/
/**
*/
#define GNUNET_MESSAGE_TYPE_TEST 1
+/**
+ * Dummy messages for testing / benchmarking.
+ */
+#define GNUNET_MESSAGE_TYPE_DUMMY 2
+
/*******************************************************************************
- * RESOLVER message types
+ * RESOLVER message types
******************************************************************************/
/**
#define GNUNET_MESSAGE_TYPE_RESOLVER_RESPONSE 5
/*******************************************************************************
- * ARM message types
+ * ARM message types
******************************************************************************/
/**
#define GNUNET_MESSAGE_TYPE_ARM_SHUTDOWN_ACK 14
/*******************************************************************************
- * HELLO message types
+ * HELLO message types
******************************************************************************/
/**
#define GNUNET_MESSAGE_TYPE_HELLO 16
/*******************************************************************************
- * FRAGMENTATION message types
+ * FRAGMENTATION message types
******************************************************************************/
/**
#define GNUNET_MESSAGE_TYPE_FRAGMENT_ACK 19
/*******************************************************************************
- * TRANSPORT message types
+ * TRANSPORT message types
******************************************************************************/
/**
#define GNUNET_MESSAGE_TYPE_TRANSPORT_SESSION_KEEPALIVE 39
/*******************************************************************************
- * Transport-WLAN message types
+ * Transport-WLAN message types
******************************************************************************/
/**
/*******************************************************************************
- * Transport-DV message types
+ * Transport-DV message types
******************************************************************************/
/**
#define GNUNET_MESSAGE_TYPE_DV_DISCONNECT 50
/*******************************************************************************
- * Transport-UDP message types
+ * Transport-UDP message types
******************************************************************************/
/**
#define GNUNET_MESSAGE_TYPE_TRANSPORT_UDP_ACK 57
/*******************************************************************************
- * Transport-TCP message types
+ * Transport-TCP message types
******************************************************************************/
/**
#define GNUNET_MESSAGE_TYPE_TRANSPORT_ATS 62
/*******************************************************************************
- * NAT message types
+ * NAT message types
******************************************************************************/
/**
#define GNUNET_MESSAGE_TYPE_NAT_TEST 63
/*******************************************************************************
- * CORE message types
+ * CORE message types
******************************************************************************/
/**
*/
#define GNUNET_MESSAGE_TYPE_CORE_NOTIFY_OUTBOUND 71
-/**
- * Request from client to "configure" P2P connection.
- */
-#define GNUNET_MESSAGE_TYPE_CORE_REQUEST_INFO 72
-
-/**
- * Response from server about (possibly updated) P2P
- * connection configuration.
- */
-#define GNUNET_MESSAGE_TYPE_CORE_CONFIGURATION_INFO 73
-
/**
* Request from client to transmit message.
*/
*/
#define GNUNET_MESSAGE_TYPE_CORE_SEND 76
-/**
- * Request from client asking to connect to a peer.
- */
-#define GNUNET_MESSAGE_TYPE_CORE_REQUEST_CONNECT 77
/**
* Request for peer iteration from CORE service.
#define GNUNET_MESSAGE_TYPE_CORE_BINARY_TYPE_MAP 87
/*******************************************************************************
- * DATASTORE message types
+ * DATASTORE message types
******************************************************************************/
/**
/*******************************************************************************
- * FS message types
+ * FS message types
******************************************************************************/
/**
/*******************************************************************************
- * DHT message types
+ * DHT message types
******************************************************************************/
/**
- * Local DHT route request type
- */
-#define GNUNET_MESSAGE_TYPE_DHT_LOCAL_ROUTE 142
-
-/**
- * Local generic DHT route result type
- */
-#define GNUNET_MESSAGE_TYPE_DHT_LOCAL_ROUTE_RESULT 143
-
-/**
- * P2P DHT route request type
- */
-#define GNUNET_MESSAGE_TYPE_DHT_P2P_ROUTE 144
-
-/**
- * P2P DHT route result type
- */
-#define GNUNET_MESSAGE_TYPE_DHT_P2P_ROUTE_RESULT 145
-
-/**
- * Local generic DHT message stop type
- */
-#define GNUNET_MESSAGE_TYPE_DHT_LOCAL_ROUTE_STOP 146
-
-/**
- * Local and P2P DHT PUT message
- * (encapsulated in DHT_ROUTE message)
+ * Client wants to store item in DHT.
*/
-#define GNUNET_MESSAGE_TYPE_DHT_PUT 147
+#define GNUNET_MESSAGE_TYPE_DHT_CLIENT_PUT 142
/**
- * Local and P2P DHT GET message
- * (encapsulated in DHT_ROUTE message)
+ * Client wants to lookup item in DHT.
*/
-#define GNUNET_MESSAGE_TYPE_DHT_GET 148
+#define GNUNET_MESSAGE_TYPE_DHT_CLIENT_GET 143
/**
- * Local and P2P DHT Get result message
+ * Client wants to stop search in DHT.
*/
-#define GNUNET_MESSAGE_TYPE_DHT_GET_RESULT 149
+#define GNUNET_MESSAGE_TYPE_DHT_CLIENT_GET_STOP 144
/**
- * Local and P2P DHT find peer message
+ * Service returns result to client.
*/
-#define GNUNET_MESSAGE_TYPE_DHT_FIND_PEER 150
+#define GNUNET_MESSAGE_TYPE_DHT_CLIENT_RESULT 145
/**
- * Local and P2P DHT find peer result message
+ * Peer is storing data in DHT.
*/
-#define GNUNET_MESSAGE_TYPE_DHT_FIND_PEER_RESULT 151
+#define GNUNET_MESSAGE_TYPE_DHT_P2P_PUT 146
/**
- * P2P DHT PING request type
+ * Peer tries to find data in DHT.
*/
-#define GNUNET_MESSAGE_TYPE_DHT_P2P_PING 152
+#define GNUNET_MESSAGE_TYPE_DHT_P2P_GET 147
/**
- * DHT Control message type, for telling the
- * DHT to alter its current operation somehow.
+ * Data is returned to peer from DHT.
*/
-#define GNUNET_MESSAGE_TYPE_DHT_CONTROL 153
+#define GNUNET_MESSAGE_TYPE_DHT_P2P_RESULT 148
-/**
- * Local control message type, tells peer to start
- * issuing malicious GET requests.
- */
-#define GNUNET_MESSAGE_TYPE_DHT_MALICIOUS_GET 154
-
-/**
- * Local control message type, tells peer to start
- * issuing malicious PUT requests.
- */
-#define GNUNET_MESSAGE_TYPE_DHT_MALICIOUS_PUT 155
-
-/**
- * Local control message type, tells peer to start
- * dropping all requests.
- */
-#define GNUNET_MESSAGE_TYPE_DHT_MALICIOUS_DROP 156
/*******************************************************************************
- * HOSTLIST message types
+ * HOSTLIST message types
******************************************************************************/
/**
/*******************************************************************************
- * STATISTICS message types
+ * STATISTICS message types
******************************************************************************/
/**
/*******************************************************************************
- * VPN message types
+ * VPN message types
******************************************************************************/
/**
/*******************************************************************************
- * VPN-DNS message types
+ * VPN-DNS message types
******************************************************************************/
/**
#define GNUNET_MESSAGE_TYPE_MESH_PATH_CHANGE 257
/**
- * Request the addition to a new branch to a path
+ * Notify that a connection of a path is no longer valid
*/
-#define GNUNET_MESSAGE_TYPE_MESH_PATH_ADD 258
+#define GNUNET_MESSAGE_TYPE_MESH_PATH_BROKEN 258
/**
* At some point, the route will spontaneously change
/**
* Transport data back in the mesh (end->origin)
- * (not sure if this is the right way, should be some other solution)
*/
#define GNUNET_MESSAGE_TYPE_MESH_TO_ORIGIN 262
*/
#define GNUNET_MESSAGE_TYPE_MESH_PATH_ACK 263
+/**
+ * Avoid path timeouts
+ */
+#define GNUNET_MESSAGE_TYPE_MESH_PATH_KEEPALIVE 264
+
+/**
+ * Request the destuction of a path
+ */
+#define GNUNET_MESSAGE_TYPE_MESH_PATH_DESTROY 265
+
+/**
+ * Request the destruction of a whole tunnel
+ */
+#define GNUNET_MESSAGE_TYPE_MESH_TUNNEL_DESTROY 266
+
/**
* We need flow control
*/
/**
* Ask the mesh service to add a peer to an existing tunnel
*/
-#define GNUNET_MESSAGE_TYPE_MESH_LOCAL_CONNECT_PEER_ADD 275
+#define GNUNET_MESSAGE_TYPE_MESH_LOCAL_PEER_ADD 275
/**
* Ask the mesh service to remove a peer from a tunnel
*/
-#define GNUNET_MESSAGE_TYPE_MESH_LOCAL_CONNECT_PEER_DEL 276
+#define GNUNET_MESSAGE_TYPE_MESH_LOCAL_PEER_DEL 276
/**
* Ask the mesh service to add a peer offering a service to an existing tunnel
*/
-#define GNUNET_MESSAGE_TYPE_MESH_LOCAL_CONNECT_PEER_BY_TYPE 277
-
-/**
- * Ask the mesh service to cancel a peer connection request
- */
-#define GNUNET_MESSAGE_TYPE_MESH_LOCAL_CONNECT_PEER_CANCEL 278
-
-/**
- * Notify a mesh client that a peer has connected to a tunnel
- */
-#define GNUNET_MESSAGE_TYPE_MESH_LOCAL_PEER_CONNECTED 279
-
-/**
- * Notify a mesh client that a peer has disconnected from a tunnel
- */
-#define GNUNET_MESSAGE_TYPE_MESH_LOCAL_PEER_DISCONNECTED 280
-
+#define GNUNET_MESSAGE_TYPE_MESH_LOCAL_PEER_ADD_BY_TYPE 277
/**
* 640kb should be enough for everybody
*/
-#define GNUNET_MESSAGE_TYPE_MESH_RESERVE_END 288
+#define GNUNET_MESSAGE_TYPE_MESH_RESERVE_END 288
*/
#define GNUNET_MESSAGE_TYPE_PEERINFO_NOTIFY 334
+/*******************************************************************************
+ * ATS message types
+ ******************************************************************************/
+
+/**
+ * Type of the 'struct ClientStartMessage' sent by clients to ATS to
+ * identify the type of the client.
+ */
+#define GNUNET_MESSAGE_TYPE_ATS_START 340
+
+/**
+ * Type of the 'struct RequestAddressMessage' sent by clients to ATS
+ * to request an address to help connect.
+ */
+#define GNUNET_MESSAGE_TYPE_ATS_REQUEST_ADDRESS 341
+
+/**
+ * Type of the 'struct AddressUpdateMessage' sent by clients to ATS
+ * to inform ATS about performance changes.
+ */
+#define GNUNET_MESSAGE_TYPE_ATS_ADDRESS_UPDATE 342
+
+/**
+ * Type of the 'struct AddressDestroyedMessage' sent by clients to ATS
+ * to inform ATS about an address being unavailable.
+ */
+#define GNUNET_MESSAGE_TYPE_ATS_ADDRESS_DESTROYED 343
+
+/**
+ * Type of the 'struct AddressSuggestionMessage' sent by ATS to clients
+ * to suggest switching to a different address.
+ */
+#define GNUNET_MESSAGE_TYPE_ATS_ADDRESS_SUGGESTION 344
+
+/**
+ * Type of the 'struct PeerInformationMessage' sent by ATS to clients
+ * to inform about QoS for a particular connection.
+ */
+#define GNUNET_MESSAGE_TYPE_ATS_PEER_INFORMATION 345
+
+/**
+ * Type of the 'struct ReservationRequestMessage' sent by clients to ATS
+ * to ask for inbound bandwidth reservations.
+ */
+#define GNUNET_MESSAGE_TYPE_ATS_RESERVATION_REQUEST 346
+
+/**
+ * Type of the 'struct ReservationResultMessage' sent by ATS to clients
+ * in response to a reservation request.
+ */
+#define GNUNET_MESSAGE_TYPE_ATS_RESERVATION_RESULT 347
+
+/**
+ * Type of the 'struct ChangePreferenceMessage' sent by clients to ATS
+ * to ask for allocation preference changes.
+ */
+#define GNUNET_MESSAGE_TYPE_ATS_PREFERENCE_CHANGE 348
+
+/**
+ * Type of the 'struct SessionReleaseMessage' sent by ATS to client
+ * to confirm that a session ID was destroyed.
+ */
+#define GNUNET_MESSAGE_TYPE_ATS_SESSION_RELEASE 349
+
+
/*******************************************************************************
* TODO: we need a way to register message types centrally (via some webpage).
* For now: unofficial extensions should start at 48k, internal extensions