/* Copyright (c) 2011-2018 Dovecot authors, see the included COPYING file */
#include "lib.h"
#include "ioloop.h"
#include "llist.h"
#include "master-service.h"
#include "worker-connection.h"
#include "worker-pool.h"
struct worker_connection_list {
};
struct worker_pool {
char *socket_path;
unsigned int connection_count;
};
static void
struct worker_connection_list *list);
struct worker_pool *
{
return pool;
}
{
}
}
}
{
}
{
if (worker_connection_connect(conn) < 0) {
return -1;
}
pool->connection_count++;
return 0;
}
static void
struct worker_connection_list *list)
{
pool->connection_count--;
}
{
unsigned int limit;
return 1;
return limit;
}
/* we have at least one connection that has already been created,
but without having handshaked yet. wait until it's finished. */
return 0;
}
struct worker_connection **conn_r)
{
unsigned int max_connections;
}
return FALSE;
if (worker_pool_add_connection(pool) < 0)
return FALSE;
}
return TRUE;
}
{
}
}
}
struct worker_connection *conn)
{
if (worker_connection_is_busy(conn)) {
/* not finished with all queued requests yet */
return;
}
break;
}
else {
}
}
struct worker_connection *
const char *username)
{
const char *worker_user;
}
return NULL;
}