LogProtoServer * log_proto_framed_server_new(LogTransport *transport, const LogProtoServerOptions *options) { LogProtoFramedServer *self = g_new0(LogProtoFramedServer, 1); log_proto_server_init(&self->super, transport, options); self->super.prepare = log_proto_framed_server_prepare; self->super.fetch = log_proto_framed_server_fetch; self->super.free_fn = log_proto_framed_server_free; self->half_message_in_buffer = FALSE; return &self->super; }
void log_proto_buffered_server_init(LogProtoBufferedServer *self, LogTransport *transport, const LogProtoServerOptions *options) { log_proto_server_init(&self->super, transport, options); self->super.prepare = log_proto_buffered_server_prepare; self->super.fetch = log_proto_buffered_server_fetch; self->super.queued = log_proto_buffered_server_queued; self->super.free_fn = log_proto_buffered_server_free_method; self->super.transport = transport; self->super.restart_with_state = log_proto_buffered_server_restart_with_state; self->convert = (GIConv) -1; self->read_data = log_proto_buffered_server_read_data_method; self->io_status = G_IO_STATUS_NORMAL; if (options->encoding) self->convert = g_iconv_open("utf-8", options->encoding); self->stream_based = TRUE; }