Вообщем требуемый функционал,
получаем запрос по сети, обслуживаем, отправляем ответ.
Требование чтобы код обслуживающей сеть был отделен от остального,
чтобы легко было сменить протокол например.
Вот плоды моих размышлений
class NetServer;
class RpcServer {
public:
void connectWithNetServer(NetServer *ns_) { ns = ns_; }
virtual ~RpcServer() {}
virtual void callMethod() = 0;
private:
NetServer *ns;
};
class NetServer {
public:
NetServer(RpcServer *rpcs_) : rpcs(rpcs_) {}
virtual ~NetServer() {}
virtual void sendResponse() = 0;
void callMethod() { if (rpcs) rpcs->callMethod(); }
private:
RpcServer *rpcs;
};
Как-то кривовато, может есть более правильное решение?