add keywords from metadata for files
[oweals/gnunet.git] / src / util / server.c
index 606d4436906572167ecda4f2af35b6625b18073a..f586e42043618ab0122292f1f69a74093ec40122 100644 (file)
@@ -79,11 +79,6 @@ struct NotifyList
  */
 struct GNUNET_SERVER_Handle
 {
-  /**
-   * My scheduler.
-   */
-  struct GNUNET_SCHEDULER_Handle *sched;
-
   /**
    * List of handlers for incoming messages.
    */
@@ -121,11 +116,6 @@ struct GNUNET_SERVER_Handle
    */
   struct GNUNET_TIME_Relative idle_timeout;
 
-  /**
-   * maximum write buffer size for accepted sockets
-   */
-  size_t maxbuf;
-
   /**
    * Task scheduled to do the listening.
    */
@@ -254,8 +244,7 @@ process_listen_socket (void *cls,
   if (0 != (tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN))
     {
       /* ignore shutdown, someone else will take care of it! */
-      server->listen_task = GNUNET_SCHEDULER_add_select (server->sched,
-                                                         GNUNET_SCHEDULER_PRIORITY_HIGH,
+      server->listen_task = GNUNET_SCHEDULER_add_select (GNUNET_SCHEDULER_PRIORITY_HIGH,
                                                          GNUNET_SCHEDULER_NO_TASK,
                                                          GNUNET_TIME_UNIT_FOREVER_REL,
                                                          r, NULL,
@@ -271,10 +260,9 @@ process_listen_socket (void *cls,
           (tc->read_ready, server->listen_sockets[i]))
         {
           sock =
-            GNUNET_CONNECTION_create_from_accept (tc->sched, server->access,
+            GNUNET_CONNECTION_create_from_accept (server->access,
                                                   server->access_cls,
-                                                  server->listen_sockets[i],
-                                                  server->maxbuf);
+                                                  server->listen_sockets[i]);
           if (sock != NULL)
             {
 #if DEBUG_SERVER
@@ -291,8 +279,7 @@ process_listen_socket (void *cls,
       i++;
     }
   /* listen for more! */
-  server->listen_task = GNUNET_SCHEDULER_add_select (server->sched,
-                                                     GNUNET_SCHEDULER_PRIORITY_HIGH,
+  server->listen_task = GNUNET_SCHEDULER_add_select (GNUNET_SCHEDULER_PRIORITY_HIGH,
                                                      GNUNET_SCHEDULER_NO_TASK,
                                                      GNUNET_TIME_UNIT_FOREVER_REL,
                                                      r, NULL,
@@ -392,11 +379,9 @@ open_listen_socket (const struct sockaddr *serverAddr, socklen_t socklen)
 /**
  * Create a new server.
  *
- * @param sched scheduler to use
  * @param access function for access control
  * @param access_cls closure for access
  * @param lsocks NULL-terminated array of listen sockets
- * @param maxbuf maximum write buffer size for accepted sockets
  * @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
@@ -404,10 +389,8 @@ open_listen_socket (const struct sockaddr *serverAddr, socklen_t socklen)
  *         (typically, "port" already in use)
  */
 struct GNUNET_SERVER_Handle *
-GNUNET_SERVER_create_with_sockets (struct GNUNET_SCHEDULER_Handle *sched,
-                                  GNUNET_CONNECTION_AccessCheck access, void *access_cls,
+GNUNET_SERVER_create_with_sockets (GNUNET_CONNECTION_AccessCheck access, void *access_cls,
                                   struct GNUNET_NETWORK_Handle **lsocks,
-                                  size_t maxbuf,
                                   struct GNUNET_TIME_Relative
                                   idle_timeout,
                                   int require_found)
@@ -417,8 +400,6 @@ GNUNET_SERVER_create_with_sockets (struct GNUNET_SCHEDULER_Handle *sched,
   int i;
 
   ret = GNUNET_malloc (sizeof (struct GNUNET_SERVER_Handle));
-  ret->sched = sched;
-  ret->maxbuf = maxbuf;
   ret->idle_timeout = idle_timeout;
   ret->listen_sockets = lsocks;
   ret->access = access;
@@ -430,8 +411,7 @@ GNUNET_SERVER_create_with_sockets (struct GNUNET_SCHEDULER_Handle *sched,
       i = 0;
       while (NULL != ret->listen_sockets[i])
         GNUNET_NETWORK_fdset_set (r, ret->listen_sockets[i++]);
-      ret->listen_task = GNUNET_SCHEDULER_add_select (sched,
-                                                      GNUNET_SCHEDULER_PRIORITY_HIGH,
+      ret->listen_task = GNUNET_SCHEDULER_add_select (GNUNET_SCHEDULER_PRIORITY_HIGH,
                                                       GNUNET_SCHEDULER_NO_TASK,
                                                       GNUNET_TIME_UNIT_FOREVER_REL,
                                                       r, NULL,
@@ -446,12 +426,10 @@ GNUNET_SERVER_create_with_sockets (struct GNUNET_SCHEDULER_Handle *sched,
 /**
  * Create a new server.
  *
- * @param sched scheduler to use
  * @param access function for access control
  * @param access_cls closure for access
  * @param serverAddr address to listen on (including port), NULL terminated array
  * @param socklen length of serverAddr
- * @param maxbuf maximum write buffer size for accepted sockets
  * @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
@@ -459,12 +437,10 @@ GNUNET_SERVER_create_with_sockets (struct GNUNET_SCHEDULER_Handle *sched,
  *         (typically, "port" already in use)
  */
 struct GNUNET_SERVER_Handle *
-GNUNET_SERVER_create (struct GNUNET_SCHEDULER_Handle *sched,
-                      GNUNET_CONNECTION_AccessCheck access,
+GNUNET_SERVER_create (GNUNET_CONNECTION_AccessCheck access,
                       void *access_cls,
                       struct sockaddr *const *serverAddr,
                       const socklen_t * socklen,
-                      size_t maxbuf,
                       struct GNUNET_TIME_Relative
                       idle_timeout, int require_found)
 {
@@ -500,10 +476,8 @@ GNUNET_SERVER_create (struct GNUNET_SCHEDULER_Handle *sched,
     {
       lsocks = NULL;
     }
-  return GNUNET_SERVER_create_with_sockets (sched,
-                                           access, access_cls,
+  return GNUNET_SERVER_create_with_sockets (access, access_cls,
                                            lsocks,
-                                           maxbuf, 
                                            idle_timeout,
                                            require_found);
 }
@@ -526,7 +500,7 @@ GNUNET_SERVER_destroy (struct GNUNET_SERVER_Handle *s)
 #endif
   if (GNUNET_SCHEDULER_NO_TASK != s->listen_task)
     {
-      GNUNET_SCHEDULER_cancel (s->sched, s->listen_task);
+      GNUNET_SCHEDULER_cancel (s->listen_task);
       s->listen_task = GNUNET_SCHEDULER_NO_TASK;
     }
   if (s->listen_sockets != NULL)
@@ -629,7 +603,14 @@ GNUNET_SERVER_inject (struct GNUNET_SERVER_Handle *server,
             {
               if ((mh->expected_size != 0) && (mh->expected_size != size))
                 {
+#if GNUNET8_NETWORK_IS_DEAD
+                 GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
+                             "Expected %u bytes for message of type %u, got %u\n",
+                             mh->expected_size,
+                             mh->type,
+                             size);
                   GNUNET_break_op (0);
+#endif
                   return GNUNET_SYSERR;
                 }
               if (sender != NULL)
@@ -877,8 +858,7 @@ GNUNET_SERVER_connect_socket (struct
 
   client = GNUNET_malloc (sizeof (struct GNUNET_SERVER_Client));
   client->connection = connection;
-  client->mst = GNUNET_SERVER_mst_create (GNUNET_SERVER_MAX_MESSAGE_SIZE - 1,
-                                         &client_message_tokenizer_callback,
+  client->mst = GNUNET_SERVER_mst_create (&client_message_tokenizer_callback,
                                          server);
   client->reference_count = 1;
   client->server = server;
@@ -1029,8 +1009,7 @@ GNUNET_SERVER_client_disconnect (struct GNUNET_SERVER_Client *client)
 #endif
   if (client->restart_task != GNUNET_SCHEDULER_NO_TASK)
     {
-      GNUNET_SCHEDULER_cancel (client->server->sched,
-                              client->restart_task);
+      GNUNET_SCHEDULER_cancel (client->restart_task);
       client->restart_task = GNUNET_SCHEDULER_NO_TASK;
     }
   if (GNUNET_YES == client->receive_pending)
@@ -1059,8 +1038,7 @@ GNUNET_SERVER_client_disconnect (struct GNUNET_SERVER_Client *client)
         prev->next = pos->next;
       if (client->restart_task != GNUNET_SCHEDULER_NO_TASK)
        {
-         GNUNET_SCHEDULER_cancel (server->sched,
-                                  client->restart_task);
+         GNUNET_SCHEDULER_cancel (client->restart_task);
          client->restart_task = GNUNET_SCHEDULER_NO_TASK;
        }
       n = server->disconnect_notify_list;
@@ -1188,8 +1166,7 @@ GNUNET_SERVER_receive_done (struct GNUNET_SERVER_Client *client, int success)
              "GNUNET_SERVER_receive_done causes restart in reading from the socket\n");
 #endif
   GNUNET_assert (GNUNET_SCHEDULER_NO_TASK == client->restart_task);
-  client->restart_task = GNUNET_SCHEDULER_add_now (client->server->sched,
-                                                  &restart_processing,
+  client->restart_task = GNUNET_SCHEDULER_add_now (&restart_processing,
                                                   client);
 }