view src/imap/imap-common.h @ 22716:6287c6d66f56

dsync: Add debug logging for .dovecot-sync.lock locking/unlocking
author Timo Sirainen <timo.sirainen@dovecot.fi>
date Thu, 28 Dec 2017 10:27:27 +0200
parents 64c73e6bd397
children
line wrap: on
line source

#ifndef IMAP_COMMON_H
#define IMAP_COMMON_H

/* Disconnect client after idling this many milliseconds */
#define CLIENT_IDLE_TIMEOUT_MSECS (60*30*1000)

/* If we can't send anything to client for this long, disconnect the client */
#define CLIENT_OUTPUT_TIMEOUT_MSECS (5*60*1000)

/* Stop buffering more data into output stream after this many bytes */
#define CLIENT_OUTPUT_OPTIMAL_SIZE 2048

/* Disconnect client when it sends too many bad commands in a row */
#define CLIENT_MAX_BAD_COMMANDS 20

#include "lib.h"
#include "imap-client.h"
#include "imap-settings.h"

struct mail_storage_service_input;

typedef void imap_client_created_func_t(struct client **client);

extern imap_client_created_func_t *hook_client_created;
extern bool imap_debug;

/* Sets the hook_client_created and returns the previous hook,
   which the new_hook should call if it's non-NULL. */
imap_client_created_func_t * ATTR_NOWARN_UNUSED_RESULT
imap_client_created_hook_set(imap_client_created_func_t *new_hook);

void imap_refresh_proctitle(void);

int client_create_from_input(const struct mail_storage_service_input *input,
			     int fd_in, int fd_out, struct client **client_r,
			     const char **error_r);

#endif