add client
This commit is contained in:
@@ -19,15 +19,10 @@ class Server {
|
||||
|
||||
void Update();
|
||||
|
||||
void UpdateState(const std::shared_ptr<IServerState>& a_State) {
|
||||
m_State = a_State;
|
||||
m_State->SetServer(this);
|
||||
}
|
||||
void UpdateState(const std::shared_ptr<IServerState>& a_State);
|
||||
|
||||
private:
|
||||
void Update(float a_Delta) {
|
||||
m_State->Update(a_Delta);
|
||||
}
|
||||
void Update(float a_Delta);
|
||||
|
||||
friend class IServerState;
|
||||
};
|
||||
|
||||
@@ -1,23 +1,34 @@
|
||||
#pragma once
|
||||
|
||||
#include <client/socket/FakeSocket.h>
|
||||
#include <optional>
|
||||
#include <server/IServerSocket.h>
|
||||
|
||||
namespace td {
|
||||
namespace server {
|
||||
|
||||
class FakeSocket : public IServerSocket {
|
||||
private:
|
||||
std::vector<std::optional<std::shared_ptr<client::FakeSocket>>> m_Clients;
|
||||
|
||||
public:
|
||||
FakeSocket() {}
|
||||
~FakeSocket() {}
|
||||
|
||||
utils::Signal<PeerID, const protocol::PacketBase&> OnSendToFakePeer;
|
||||
|
||||
void ConnectFakePeer(PeerID a_Peer);
|
||||
PeerID ConnectFakePeer(const std::shared_ptr<client::FakeSocket>& a_Socket);
|
||||
void DisconnectFakePeer(PeerID a_Peer);
|
||||
void ReceiveFromFakePeer(PeerID a_Peer, const protocol::PacketBase& a_Packet);
|
||||
|
||||
protected:
|
||||
virtual void SendPeer(PeerID a_Peer, const protocol::PacketBase& a_Packet) override;
|
||||
|
||||
private:
|
||||
/**
|
||||
* \return -1 if all previous ids are not free
|
||||
*/
|
||||
int GetNextFreeId();
|
||||
|
||||
friend class client::FakeSocket;
|
||||
};
|
||||
|
||||
} // namespace server
|
||||
|
||||
Reference in New Issue
Block a user