Author: Pekka Riikonen <priikone@silcnet.org>
- Copyright (C) 2005 - 2007 Pekka Riikonen
+ Copyright (C) 2005 - 2008 Pekka Riikonen
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
stream->ops = &silc_socket_stream_ops;
stream->sock = sock;
stream->schedule = schedule;
+ stream->connected = TRUE;
l = silc_calloc(1, sizeof(*l));
if (!l) {
!limit_sec && !limit_usec) {
silc_schedule_task_del_by_context(socket_stream->schedule,
socket_stream->qos);
+ silc_free(socket_stream->qos->buffer);
silc_free(socket_stream->qos);
socket_stream->qos = NULL;
return TRUE;
socket_stream->qos->cur_rate = 0;
socket_stream->qos->sock = socket_stream;
- socket_stream->qos->buffer = silc_malloc(read_limit_bytes);
+ socket_stream->qos->buffer = silc_realloc(socket_stream->qos->buffer,
+ read_limit_bytes);
if (!socket_stream->qos->buffer)
return FALSE;
return socket_stream->schedule;
}
+/* Return associated context. */
+
+void *
+silc_socket_stream_get_context(SilcStream stream)
+{
+ SilcSocketStream socket_stream = stream;
+
+ if (!SILC_IS_SOCKET_STREAM(socket_stream))
+ return NULL;
+
+ return socket_stream->user_context;
+}
+
+/* Set associated context. */
+
+void
+silc_socket_stream_set_context(SilcStream stream,
+ void *context)
+{
+ SilcSocketStream socket_stream = stream;
+
+ if (!SILC_IS_SOCKET_STREAM(socket_stream))
+ return;
+
+ socket_stream->user_context = context;
+}
+
/* SILC Socket Stream ops. Functions are implemented under the
platform specific subdirectories. */
const SilcStreamOps silc_socket_stream_ops =