-moving DNS code into its own directory
[oweals/gnunet.git] / src / include / gnunet_server_lib.h
index 45da3efa28858a6280171f4562ba123a5fdb33c3..2856fd8388343495fa1ce21b1b03609df2f85d7c 100644 (file)
@@ -46,7 +46,7 @@ extern "C"
 #define GNUNET_SERVER_MAX_MESSAGE_SIZE 65536
 
 /**
- * Largest supported message.
+ * Smallest supported message.
  */
 #define GNUNET_SERVER_MIN_BUFFER_SIZE sizeof (struct GNUNET_MessageHeader)
 
@@ -135,7 +135,7 @@ GNUNET_SERVER_create_with_sockets (GNUNET_CONNECTION_AccessCheck access,
  * @param access function for access control
  * @param access_cls closure for access
  * @param serverAddr address toes listen on (including port), NULL terminated array
- * @param socklen lengths of respective serverAddr 
+ * @param socklen lengths of respective serverAddr
  * @param idle_timeout after how long should we timeout idle connections?
  * @param require_found if YES, connections sending messages of unknown type
  *        will be closed
@@ -325,16 +325,6 @@ GNUNET_SERVER_client_get_address (struct GNUNET_SERVER_Client *client,
                                   void **addr, size_t * addrlen);
 
 
-/**
- * Retrieve the unique id from the opaque defined GNUNET_SERVER_Client
- *
- * @param client the client
- * @return the unique id
- */
-uint64_t
-GNUNET_SERVER_client_get_id (struct GNUNET_SERVER_Client *client);
-
-
 /**
  * Functions with this signature are called whenever a client
  * is disconnected on the network level.
@@ -352,7 +342,7 @@ typedef void (*GNUNET_SERVER_DisconnectCallback) (void *cls,
  * Ask the server to notify us whenever a client disconnects.
  * This function is called whenever the actual network connection
  * is closed; the reference count may be zero or larger than zero
- * at this point.  If the server is destroyed before this 
+ * at this point.  If the server is destroyed before this
  * notification is explicitly cancelled, the 'callback' will
  * once be called with a 'client' argument of NULL to indicate
  * that the server itself is now gone (and that the callback
@@ -473,10 +463,9 @@ GNUNET_SERVER_transmit_context_append_message (struct
 
 
 /**
- * Execute a transmission context.  If there is
- * an error in the transmission, the receive_done
- * method will be called with an error code (GNUNET_SYSERR),
- * otherwise with GNUNET_OK.
+ * Execute a transmission context.  If there is an error in the
+ * transmission, the receive_done method will be called with an error
+ * code (GNUNET_SYSERR), otherwise with GNUNET_OK.
  *
  * @param tc transmission context to use
  * @param timeout when to time out and abort the transmission
@@ -486,6 +475,22 @@ GNUNET_SERVER_transmit_context_run (struct GNUNET_SERVER_TransmitContext *tc,
                                     struct GNUNET_TIME_Relative timeout);
 
 
+/**
+ * Destroy a transmission context.  This function must not be called
+ * after 'GNUNET_SERVER_transmit_context_run'.
+ *
+ * @param tc transmission context to destroy
+ * @param success code to give to 'GNUNET_SERVER_receive_done' for
+ *        the client:  GNUNET_OK to keep the connection open and
+ *                          continue to receive
+ *                GNUNET_NO to close the connection (normal behavior)
+ *                GNUNET_SYSERR to close the connection (signal
+ *                          serious error)
+ */
+void
+GNUNET_SERVER_transmit_context_destroy (struct GNUNET_SERVER_TransmitContext
+                                        *tc, int success);
+
 
 /**
  * The notification context is the key datastructure for a conveniance
@@ -609,7 +614,7 @@ GNUNET_SERVER_mst_create (GNUNET_SERVER_MessageTokenizerCallback cb,
  *        can be NULL (will be passed back to 'cb')
  * @param buf input data to add
  * @param size number of bytes in buf
- * @param purge should any excess bytes in the buffer be discarded 
+ * @param purge should any excess bytes in the buffer be discarded
  *       (i.e. for packet-based services like UDP)
  * @param one_shot only call callback once, keep rest of message in buffer
  * @return GNUNET_OK if we are done processing (need more data)