* @brief cadet service; dealing with connections
* @author Bartlomiej Polot
*
- * All functions in this file should use the prefix GMC (Gnunet Cadet Connection)
+ * All functions in this file use the prefix GCC (GNUnet Cadet Connection)
*/
#ifndef GNUNET_SERVICE_CADET_CONNECTION_H
*/
void
GCC_handle_create (struct CadetPeer *peer,
- const struct GNUNET_CADET_ConnectionCreate *msg);
+ const struct GNUNET_CADET_ConnectionCreateMessage *msg);
/**
*/
void
GCC_handle_confirm (struct CadetPeer *peer,
- const struct GNUNET_CADET_ConnectionACK *msg);
+ const struct GNUNET_CADET_ConnectionCreateAckMessage *msg);
/**
*/
void
GCC_handle_broken (struct CadetPeer *peer,
- const struct GNUNET_CADET_ConnectionBroken *msg);
+ const struct GNUNET_CADET_ConnectionBrokenMessage *msg);
/**
* Handler for notifications of destroyed connections.
*/
void
GCC_handle_destroy (struct CadetPeer *peer,
- const struct GNUNET_CADET_ConnectionDestroy *msg);
+ const struct GNUNET_CADET_ConnectionDestroyMessage *msg);
/**
* Handler for cadet network traffic hop-by-hop acks.
*/
void
GCC_handle_ack (struct CadetPeer *peer,
- const struct GNUNET_CADET_ACK *msg);
+ const struct GNUNET_CADET_ConnectionEncryptedAckMessage *msg);
/**
* Handler for cadet network traffic hop-by-hop data counter polls.
*/
void
GCC_handle_poll (struct CadetPeer *peer,
- const struct GNUNET_CADET_Poll *msg);
+ const struct GNUNET_CADET_ConnectionHopByHopPollMessage *msg);
/**
* Handler for key exchange traffic (Axolotl KX).
*/
void
GCC_handle_kx (struct CadetPeer *peer,
- const struct GNUNET_CADET_KX *msg);
+ const struct GNUNET_CADET_TunnelKeyExchangeMessage *msg);
/**
* Handler for encrypted cadet network traffic (channel mgmt, data).
*/
void
GCC_handle_encrypted (struct CadetPeer *peer,
- const struct GNUNET_CADET_AX *msg);
+ const struct GNUNET_CADET_TunnelEncryptedMessage *msg);
/**
* Core handler for axolotl key exchange traffic.
* NULL in case of error: own id not in path, wrong neighbors, ...
*/
struct CadetConnection *
-GCC_new (const struct GNUNET_CADET_Hash *cid,
+GCC_new (const struct GNUNET_CADET_ConnectionTunnelIdentifier *cid,
struct CadetTunnel *t,
struct CadetPeerPath *path,
unsigned int own_pos);
*
* @return ID of the connection.
*/
-const struct GNUNET_CADET_Hash *
+const struct GNUNET_CADET_ConnectionTunnelIdentifier *
GCC_get_id (const struct CadetConnection *c);
-/**
- * Get a hash for the connection ID.
- *
- * @param c Connection to get the hash.
- *
- * @return Hash expanded from the ID of the connection.
- */
-const struct GNUNET_HashCode *
-GCC_get_h (const struct CadetConnection *c);
-
-
/**
* Get the connection path.
*
*
* @param c Connection.
* @param fwd Is query about FWD traffic?
- *
- * @return Last PID used + 1.
+ * @return Next PID to use.
*/
-unsigned int
+struct CadetEncryptedMessageIdentifier
GCC_get_pid (struct CadetConnection *c, int fwd);
/**
* Sends an already built message on a connection, properly registering
* all used resources.
*
- * @param message Message to send. Function makes a copy of it.
- * If message is not hop-by-hop, decrements TTL of copy.
+ * @param message Message to send.
* @param payload_type Type of payload, in case the message is encrypted.
+ * 0 for restransmissions (when type is no longer known)
+ * UINT16_MAX when not applicable.
* @param payload_id ID of the payload (PID, ACK, ...).
* @param c Connection on which this message is transmitted.
* @param fwd Is this a fwd message?
* @param cont_cls Closure for @c cont.
*
* @return Handle to cancel the message before it's sent.
- * NULL on error or if @c cont is NULL.
+ * NULL on error.
* Invalid on @c cont call.
*/
struct CadetConnectionQueue *
GCC_send_prebuilt_message (const struct GNUNET_MessageHeader *message,
- uint16_t payload_type, uint32_t payload_id,
+ uint16_t payload_type,
+ struct CadetEncryptedMessageIdentifier payload_id,
struct CadetConnection *c, int fwd, int force,
GCC_sent cont, void *cont_cls);