view src/doveadm/client-connection.h @ 22638:7d5634889da8

lib: net_ip2addr() - Optimize by allocating destination memory immediately It doesn't really matter if we allocate a few extra bytes.
author Timo Sirainen <timo.sirainen@dovecot.fi>
date Sat, 04 Nov 2017 01:42:37 +0200
parents ba71422dc32f
children e821bea31605
line wrap: on
line source

#ifndef CLIENT_CONNECTION_H
#define CLIENT_CONNECTION_H

#include "net.h"

#define DOVEADM_LOG_CHANNEL_ID 'L'

struct client_connection {
	pool_t pool;

	int fd;
	const char *name;
	struct io *io;
	struct istream *input;
	struct ostream *output;
	struct ostream *log_out;
	struct ssl_iostream *ssl_iostream;
	struct ip_addr local_ip, remote_ip;
	in_port_t local_port, remote_port;
	const struct doveadm_settings *set;

	unsigned int handshaked:1;
	unsigned int authenticated:1;
	unsigned int io_setup:1;
	unsigned int use_multiplex:1;
};

struct client_connection *
client_connection_create(int fd, int listen_fd, bool ssl);
struct client_connection *
client_connection_create_http(int fd, bool ssl);
void client_connection_destroy(struct client_connection **conn);

#endif