static void dsk_client_stream_finalize (DskClientStream *stream) { dsk_hook_clear (&stream->disconnect_hook); dsk_hook_clear (&stream->connect_hook); if (stream->idle_disconnect_timer) dsk_dispatch_remove_timer (stream->idle_disconnect_timer); if (stream->reconnect_timer) dsk_dispatch_remove_timer (stream->reconnect_timer); if (stream->fd >= 0) { dsk_main_close_fd (stream->fd); stream->fd = -1; } dsk_free (stream->name); }
static void dsk_websocket_finalize (DskWebsocket *websocket) { if (websocket->read_trap) dsk_hook_trap_destroy (websocket->read_trap); if (websocket->write_trap) dsk_hook_trap_destroy (websocket->write_trap); if (websocket->source) dsk_object_unref (websocket->source); if (websocket->sink) dsk_object_unref (websocket->sink); dsk_buffer_clear (&websocket->incoming); dsk_buffer_clear (&websocket->outgoing); dsk_hook_clear (&websocket->readable); }
static void dsk_client_stream_sink_shutdown (DskOctetSink *sink) { DskClientStream *stream; if (sink->stream == NULL) return; stream = DSK_CLIENT_STREAM (sink->stream); if (stream->fd >= 0) shutdown (stream->fd, SHUT_WR); stream->shutdown_write = 1; dsk_hook_clear (&sink->writable_hook); stream_do_watch_fd (stream); }
static void dsk_client_stream_source_shutdown (DskOctetSource *source) { DskClientStream *stream; if (source->stream == NULL) return; stream = DSK_CLIENT_STREAM (source->stream); if (stream->fd >= 0) shutdown (stream->fd, SHUT_RD); stream->shutdown_read = 1; dsk_hook_clear (&source->readable_hook); stream_do_watch_fd (stream); }
static void dsk_memory_sink_finalize (DskMemorySink *sink) { dsk_buffer_clear (&sink->buffer); dsk_hook_clear (&sink->buffer_nonempty); }