updates.
[silc.git] / lib / silcclient / client.h
index f886e3d374fe5064e67c5661f0d570b46acb3876..89195d053d4372157a05e9091eff51197dbdbb88 100644 (file)
@@ -161,11 +161,8 @@ struct SilcClientStruct {
   /* Client Parameters */
   SilcClientParams *params;
 
-  /* SILC client scheduler and task queues */
+  /* SILC client scheduler */
   SilcSchedule schedule;
-  SilcTaskQueue io_queue;
-  SilcTaskQueue timeout_queue;
-  SilcTaskQueue generic_queue;
 
   /* Table of connections in client. All the connection data is saved here. */
   SilcClientConnection *conns;
@@ -199,25 +196,24 @@ struct SilcClientStruct {
 /* Registers generic task for file descriptor for reading from network and
    writing to network. As being generic task the actual task is allocated 
    only once and after that the same task applies to all registered fd's. */
-#define SILC_CLIENT_REGISTER_CONNECTION_FOR_IO(fd)                     \
-do {                                                                   \
-  SilcTask tmptask = silc_task_register(client->generic_queue, (fd),   \
-                                       silc_client_packet_process,     \
-                                       context, 0, 0,                  \
-                                       SILC_TASK_GENERIC,              \
-                                       SILC_TASK_PRI_NORMAL);          \
-  silc_task_set_iotype(tmptask, SILC_TASK_WRITE);                      \
+#define SILC_CLIENT_REGISTER_CONNECTION_FOR_IO(fd)     \
+do {                                                   \
+  silc_schedule_task_add(client->schedule, (fd),       \
+                        silc_client_packet_process,    \
+                        context, 0, 0,                 \
+                        SILC_TASK_GENERIC,             \
+                        SILC_TASK_PRI_NORMAL);         \
 } while(0)
 
-#define SILC_CLIENT_SET_CONNECTION_FOR_INPUT(s, fd)                    \
-do {                                                                   \
-  silc_schedule_set_listen_fd((s), (fd), (1L << SILC_TASK_READ));      \
+#define SILC_CLIENT_SET_CONNECTION_FOR_INPUT(s, fd)            \
+do {                                                           \
+  silc_schedule_set_listen_fd((s), (fd), SILC_TASK_READ);      \
 } while(0)
      
-#define SILC_CLIENT_SET_CONNECTION_FOR_OUTPUT(s, fd)                   \
-do {                                                                   \
-  silc_schedule_set_listen_fd((s), (fd), ((1L << SILC_TASK_READ) |     \
-                                    (1L << SILC_TASK_WRITE)));         \
+#define SILC_CLIENT_SET_CONNECTION_FOR_OUTPUT(s, fd)           \
+do {                                                           \
+  silc_schedule_set_listen_fd((s), (fd), (SILC_TASK_READ |     \
+                                         SILC_TASK_WRITE));    \
 } while(0)
 
 /* Finds socket connection object by file descriptor */