Blame server.cpp

f07ad6
f07ad6
#include "protocol.h"
f07ad6
#include "server.h"
f07ad6
#include "connection.h"
f07ad6
f07ad6
f07ad6
f07ad6
Server::Server():
f07ad6
	socket() { }
f07ad6
f07ad6
f07ad6
Server::~Server()
f07ad6
	{ }
f07ad6
f07ad6
f07ad6
void Server::open(Socket *socket) {
f07ad6
	Lock lock(mutex);
f07ad6
	close();
f07ad6
	if (!socket) return;
f07ad6
	this->socket = socket;
f07ad6
	onOpen();
f07ad6
}
f07ad6
f07ad6
f07ad6
void Server::close(ErrorCode errorCode) {
f07ad6
	Socket *socketCopy;
f07ad6
	{
f07ad6
		Lock lock(mutex);
f07ad6
		if (!socket) return;
f07ad6
		onClose(errorCode);
f07ad6
		socketCopy = socket;
f07ad6
		socket = nullptr;
f07ad6
	}
541903
	socketCopy->finalize();
f07ad6
}
f07ad6
f07ad6
Protocol& Server::getProtocol() const
f07ad6
	{ assert(socket); return socket->protocol; }
f07ad6
const Address& Server::getLocalAddress() const
f07ad6
	{ assert(socket); return socket->address; }
f07ad6
f07ad6
f07ad6
void Server::onOpen()
f07ad6
	{ }
f07ad6
void Server::onClose(ErrorCode)
f07ad6
	{ }
541903
Connection::Handle Server::onConnect(const Address&)
f07ad6
	{ return nullptr; }
541903
void Server::onDisconnect(const Connection::Handle&)
541903
	{ }