Gateway Server clean up
This commit is contained in:
17
Gateway Server/Event/GatewayEvents.h
Normal file
17
Gateway Server/Event/GatewayEvents.h
Normal file
@@ -0,0 +1,17 @@
|
||||
#pragma once
|
||||
|
||||
#include <map>
|
||||
#include <functional>
|
||||
#include <memory>
|
||||
|
||||
#include "../../Network/GenericNetRequest.hpp"
|
||||
#include "GetServerAddressEvent.h"
|
||||
|
||||
const std::map< int16_t, std::function< std::unique_ptr< GenericRequest >() > > LOBBY_EVENT_LOOKUP =
|
||||
{
|
||||
{ 0x43, []() -> std::unique_ptr< GenericRequest >
|
||||
{
|
||||
return std::make_unique< RequestGetServerAddress >();
|
||||
}
|
||||
}
|
||||
};
|
||||
32
Gateway Server/Event/GetServerAddressEvent.cpp
Normal file
32
Gateway Server/Event/GetServerAddressEvent.cpp
Normal file
@@ -0,0 +1,32 @@
|
||||
#include "../../global_define.h"
|
||||
#include "GetServerAddressEvent.h"
|
||||
|
||||
void RequestGetServerAddress::Deserialize( sptr_byte_stream stream )
|
||||
{
|
||||
DeserializeHeader( stream );
|
||||
}
|
||||
|
||||
sptr_generic_response RequestGetServerAddress::ProcessRequest( sptr_byte_stream stream )
|
||||
{
|
||||
Deserialize( stream);
|
||||
|
||||
return std::make_shared< ResultGetServerAddress >( this, Config::service_ip, Config::lobby_port );
|
||||
}
|
||||
|
||||
ResultGetServerAddress::ResultGetServerAddress( GenericRequest *request, std::string ip, int32_t port ) : GenericResponse( *request )
|
||||
{
|
||||
m_ip = ip;
|
||||
m_port = port;
|
||||
}
|
||||
|
||||
ByteStream& ResultGetServerAddress::Serialize()
|
||||
{
|
||||
m_stream.write_u16( m_packetId );
|
||||
m_stream.write_u32( m_requestId );
|
||||
m_stream.write_u32( 0 );
|
||||
|
||||
m_stream.write_sz_utf8( m_ip );
|
||||
m_stream.write( m_port );
|
||||
|
||||
return m_stream;
|
||||
}
|
||||
20
Gateway Server/Event/GetServerAddressEvent.h
Normal file
20
Gateway Server/Event/GetServerAddressEvent.h
Normal file
@@ -0,0 +1,20 @@
|
||||
#pragma once
|
||||
|
||||
class RequestGetServerAddress : public GenericRequest {
|
||||
public:
|
||||
static std::unique_ptr< RequestGetServerAddress > Create()
|
||||
{
|
||||
return std::make_unique< RequestGetServerAddress >();
|
||||
}
|
||||
sptr_generic_response ProcessRequest( sptr_byte_stream stream ) override;
|
||||
void Deserialize( sptr_byte_stream stream ) override;
|
||||
};
|
||||
|
||||
class ResultGetServerAddress : public GenericResponse {
|
||||
public:
|
||||
std::string m_ip;
|
||||
int32_t m_port;
|
||||
|
||||
ResultGetServerAddress( GenericRequest *request, std::string ip, int32_t port );
|
||||
ByteStream &Serialize();
|
||||
};
|
||||
Reference in New Issue
Block a user