+static void handle_meta_write(int sock, short events, void *data) {
+ ifdebug(META) logger(LOG_DEBUG, "handle_meta_write() called");
+
+ connection_t *c = data;
+
+ ssize_t outlen = send(c->socket, c->outbuf.data + c->outbuf.offset, c->outbuf.len - c->outbuf.offset, 0);
+ if(outlen <= 0) {
+ logger(LOG_ERR, "Onoes, outlen = %d (%s)", (int)outlen, strerror(errno));
+ terminate_connection(c, c->status.active);
+ return;
+ }
+
+ buffer_read(&c->outbuf, outlen);
+ if(!c->outbuf.len && event_initialized(&c->outevent))
+ event_del(&c->outevent);
+}
+
+void setup_outgoing_connection(outgoing_t *outgoing) {