X-Git-Url: https://git.sesse.net/?p=cubemap;a=blobdiff_plain;f=serverpool.h;fp=serverpool.h;h=d257a86c48f7dc1186c12f3e285cce3371f5af28;hp=c72623da13664fca6d54809f42bfb0393ac22835;hb=16a03b9858752fae9e81af261821a2a22855fde3;hpb=afa95dd1ddca5b46ebf45e5bdb6aa5f3dad25d48 diff --git a/serverpool.h b/serverpool.h index c72623d..d257a86 100644 --- a/serverpool.h +++ b/serverpool.h @@ -10,6 +10,7 @@ #include "stream.h" #include "udpstream.h" +class Acceptor; class Server; class UDPStream; struct ClientStats; @@ -25,7 +26,7 @@ public: CubemapStateProto serialize(); // Picks a server (round-robin) and allocates the given client to it. - void add_client(int sock); + void add_client(int sock, Acceptor *acceptor); void add_client_from_serialized(const ClientProto &client); // Adds the given stream to all the servers. Returns the stream index. @@ -61,6 +62,10 @@ public: // Adds the given gen204 endpoint to all the servers. void add_gen204(const std::string &url, const std::string &allow_origin); + // Prepares all the servers for accepting TLS connections from the given acceptor. + // (They need a private context, since the contexts are not definde to be thread-safe.) + void create_tls_context_for_acceptor(const Acceptor *acceptor); + // Starts all the servers. void run();