static void
recv_fin_cb (void *cls,
- struct GNUNET_SERVER_Handle *server,
struct GNUNET_SERVER_Client *client,
const struct GNUNET_MessageHeader *message)
{
struct SignalTimeoutContext
{
- GNUNET_NETWORK_Receiver cb;
+ GNUNET_CONNECTION_Receiver cb;
void *cb_cls;
};
}
-static GNUNET_SCHEDULER_TaskIdentifier
+static GNUNET_SCHEDULER_TaskIdentifier ti;
+
+
+static void
my_receive (void *cls,
size_t max,
struct GNUNET_TIME_Relative timeout,
- GNUNET_NETWORK_Receiver receiver, void *receiver_cls)
+ GNUNET_CONNECTION_Receiver receiver, void *receiver_cls)
{
int *ok = cls;
struct GNUNET_MessageHeader msg;
struct SignalTimeoutContext *stctx;
GNUNET_SCHEDULER_TaskIdentifier ret;
- ret = GNUNET_SCHEDULER_NO_PREREQUISITE_TASK;
+ ret = GNUNET_SCHEDULER_NO_TASK;
switch (*ok)
{
case 1:
*ok = 2; /* report success */
msg.type = htons (MY_TYPE2);
- msg.size = htons (sizeof (msg));
- receiver (receiver_cls, &msg, sizeof (msg), NULL, 0, 0);
+ msg.size = htons (sizeof (struct GNUNET_MessageHeader));
+ receiver (receiver_cls, &msg, sizeof (struct GNUNET_MessageHeader),
+ NULL, 0, 0);
break;
case 3:
/* called after first receive instantly
stctx->cb = receiver;
stctx->cb_cls = receiver_cls;
ret = GNUNET_SCHEDULER_add_delayed (sched,
- GNUNET_NO,
- GNUNET_SCHEDULER_PRIORITY_KEEP,
- GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
timeout, &signal_timeout, stctx);
break;
default:
GNUNET_assert (0);
}
- return ret;
+ ti = ret;
}
static void
-my_cancel (void *cls, GNUNET_SCHEDULER_TaskIdentifier ti)
+my_cancel (void *cls)
{
GNUNET_SCHEDULER_cancel (sched, ti);
}
my_transmit_ready_cb (void *cls,
size_t size,
struct GNUNET_TIME_Relative timeout,
- GNUNET_NETWORK_TransmitReadyNotify notify,
+ GNUNET_CONNECTION_TransmitReadyNotify notify,
void *notify_cls)
{
static int non_null_addr;
GNUNET_assert (size == sizeof (struct GNUNET_MessageHeader));
notify (notify_cls, size, buf);
msg.type = htons (MY_TYPE);
- msg.size = htons (sizeof (msg));
+ msg.size = htons (sizeof (struct GNUNET_MessageHeader));
GNUNET_assert (0 == memcmp (&msg, buf, size));
*ok = 5; /* report success */
return &non_null_addr;
static void
recv_cb (void *cls,
- struct GNUNET_SERVER_Handle *server,
struct GNUNET_SERVER_Client *argclient,
const struct GNUNET_MessageHeader *message)
{
{
struct sockaddr_in sa;
struct GNUNET_MessageHeader msg;
+ struct sockaddr * sap[2];
+ socklen_t slens[2];
+ sap[0] = (struct sockaddr*) &sa;
+ slens[0] = sizeof (sa);
+ sap[1] = NULL;
+ slens[1] = 0;
sched = tc->sched;
memset (&sa, 0, sizeof (sa));
+#if HAVE_SOCKADDR_IN_SIN_LEN
+ sa.sin_len = sizeof (sa);
+#endif
sa.sin_family = AF_INET;
sa.sin_port = htons (PORT);
server = GNUNET_SERVER_create (tc->sched,
NULL,
NULL,
- (const struct sockaddr *) &sa,
- sizeof (sa),
+ sap,
+ slens,
1024,
GNUNET_TIME_relative_multiply
(GNUNET_TIME_UNIT_MILLISECONDS, 250),
handlers[1].callback_cls = cls;
GNUNET_SERVER_add_handlers (server, handlers);
msg.type = htons (MY_TYPE);
- msg.size = htons (sizeof (msg));
+ msg.size = htons (sizeof (struct GNUNET_MessageHeader));
GNUNET_SERVER_inject (server, NULL, &msg);
- memset (&msg, 0, sizeof (msg));
+ memset (&msg, 0, sizeof (struct GNUNET_MessageHeader));
}