X-Git-Url: https://git.sesse.net/?p=cubemap;a=blobdiff_plain;f=acceptor.cpp;h=bb3ebcb06cc3f6479a7e620c5ac37dcfb7cb7a0b;hp=7c28ca58038c27b107cad1b8dd82d6dd3b78bd3c;hb=16a03b9858752fae9e81af261821a2a22855fde3;hpb=afa95dd1ddca5b46ebf45e5bdb6aa5f3dad25d48 diff --git a/acceptor.cpp b/acceptor.cpp index 7c28ca5..bb3ebcb 100644 --- a/acceptor.cpp +++ b/acceptor.cpp @@ -91,15 +91,20 @@ sockaddr_in6 extract_address_from_acceptor_proto(const AcceptorProto &proto) return sin6; } -Acceptor::Acceptor(int server_sock, const sockaddr_in6 &addr) +Acceptor::Acceptor(int server_sock, const sockaddr_in6 &addr, + const string &certificate_chain, const string &private_key) : server_sock(server_sock), - addr(addr) + addr(addr), + certificate_chain(certificate_chain), + private_key(private_key) { } Acceptor::Acceptor(const AcceptorProto &serialized) : server_sock(serialized.server_sock()), - addr(extract_address_from_acceptor_proto(serialized)) + addr(extract_address_from_acceptor_proto(serialized)), + certificate_chain(serialized.certificate_chain()), + private_key(serialized.private_key()) { } @@ -112,6 +117,8 @@ AcceptorProto Acceptor::serialize() const serialized.set_server_sock(server_sock); serialized.set_addr(buf); serialized.set_port(ntohs(addr.sin6_port)); + serialized.set_certificate_chain(certificate_chain); + serialized.set_private_key(private_key); return serialized; } @@ -151,6 +158,6 @@ void Acceptor::do_work() } // Pick a server, round-robin, and hand over the socket to it. - servers->add_client(sock); + servers->add_client(sock, this); } }