worker-connection.h (dovecot-2.3.16) | : | worker-connection.h (dovecot-2.3.17) | ||
---|---|---|---|---|
#ifndef WORKER_CONNECTION_H | #ifndef WORKER_CONNECTION_H | |||
#define WORKER_CONNECTION_H | #define WORKER_CONNECTION_H | |||
#include "indexer.h" | #include "indexer.h" | |||
struct indexer_request; | struct indexer_request; | |||
struct connection_list; | struct connection_list; | |||
typedef void worker_available_callback_t(void); | ||||
struct connection * | struct connection * | |||
worker_connection_create(const char *socket_path, | worker_connection_create(const char *socket_path, | |||
indexer_status_callback_t *callback, | indexer_status_callback_t *callback, | |||
worker_available_callback_t *avail_callback, | ||||
struct connection_list *list); | struct connection_list *list); | |||
void worker_connection_unref(struct connection **_conn); | void worker_connection_destroy(struct connection *conn); | |||
struct connection_list *worker_connection_list_create(void); | struct connection_list *worker_connection_list_create(void); | |||
/* Returns TRUE if worker is connected to (not necessarily handshaked yet) */ | /* Returns TRUE if worker is connected to (not necessarily handshaked yet) */ | |||
bool worker_connection_is_connected(struct connection *conn); | bool worker_connection_is_connected(struct connection *conn); | |||
/* After initial handshake the worker process tells how many of its kind | /* Returns the last process_limit returned by a worker connection handshake. | |||
can be at maximum. This returns the value, of FALSE if handshake isn't | If no handshakes have been received yet, returns 0. */ | |||
finished yet. */ | unsigned int worker_connections_get_process_limit(void); | |||
bool worker_connection_get_process_limit(struct connection *conn, | ||||
unsigned int *limit_r); | ||||
/* Send a new indexing request for username+mailbox. The status callback is | /* Send a new indexing request for username+mailbox. The status callback is | |||
called as necessary with the given context. Requests can be queued, but | called as necessary with the given context. Requests can be queued, but | |||
only for the same username. */ | only for the same username. */ | |||
void worker_connection_request(struct connection *conn, | void worker_connection_request(struct connection *conn, | |||
struct indexer_request *request, | struct indexer_request *request, | |||
void *context); | void *context); | |||
/* Returns TRUE if a request is being handled. */ | ||||
bool worker_connection_is_busy(struct connection *conn); | ||||
/* Returns username of the currently pending requests, | /* Returns username of the currently pending requests, | |||
or NULL if there are none. */ | or NULL if there are none. */ | |||
const char *worker_connection_get_username(struct connection *conn); | const char *worker_connection_get_username(struct connection *conn); | |||
struct indexer_request * | ||||
worker_connection_get_request(struct connection *conn); | ||||
#endif | #endif | |||
End of changes. 6 change blocks. | ||||
11 lines changed or deleted | 7 lines changed or added |