Files
maszyna/network/network.h
milek7 35af6d48d6 work
2018-12-09 19:03:02 +01:00

38 lines
657 B
C++

#pragma once
#include <asio.hpp>
#include <memory>
#include <functional>
#include <optional>
#include "network/message.h"
namespace network
{
class connection : public std::enable_shared_from_this<connection>
{
private:
void message_received(message &msg);
void send_message(message &msg);
protected:
virtual void disconnect() = 0;
virtual void send_data(std::shared_ptr<std::string> buffer) = 0;
void data_received(std::string &buffer);
public:
virtual void connected();
};
class server
{
protected:
std::vector<std::shared_ptr<connection>> clients;
};
class client
{
protected:
std::shared_ptr<connection> srv;
};
}