![]() |
FastEngine 0.9.4
A multiplayer oriented 2D engine made with Vulkan.
|
A client side network manager. More...
#include <C_server.hpp>
Public Member Functions | |
ClientSideNetUdp (IpAddress::Types addressType=IpAddress::Types::Ipv4) | |
ClientSideNetUdp (ClientSideNetUdp const &r)=delete | |
ClientSideNetUdp (ClientSideNetUdp &&r) noexcept=delete | |
ClientSideNetUdp & | operator= (ClientSideNetUdp const &r)=delete |
ClientSideNetUdp & | operator= (ClientSideNetUdp &&r) noexcept=delete |
bool | start (Port bindPort, IpAddress const &bindIp, Port connectRemotePort, IpAddress const &connectRemoteAddress, IpAddress::Types addressType=IpAddress::Types::None) |
void | stop () |
void | notifyTransmission () |
bool | isRunning () const |
std::future< uint16_t > | retrieveMTU () |
std::future< bool > | connect (std::string_view versioningString=std::string_view{}) |
std::future< void > | disconnect () |
IpAddress::Types | getAddressType () const |
std::size_t | waitForPackets (std::chrono::milliseconds time_ms) |
Identity const & | getClientIdentity () const |
template<class TPacket = Packet> | |
void | sendTo (TransmitPacketPtr &pck, Identity const &id) |
FluxProcessResults | process (ReceivedPacketPtr &packet) |
void | resetReturnPacket () |
TransmitPacketPtr & | startReturnEvent (ReturnEvents event) |
TransmitPacketPtr & | startObjectReturnEvent (uint16_t commandIndex, ObjectSid parentSid, ObjectSid targetSid) |
void | endReturnEvent () |
void | simpleReturnEvent (uint16_t id) |
void | askFullUpdateReturnEvent () |
void | enableReturnPacket (bool enable) |
bool | isReturnPacketEnabled () const |
TransmitPacketPtr | prepareAndRetrieveReturnPacket () |
void | clearPackets () |
ReceivedPacketPtr | popNextPacket () |
std::size_t | getPacketsSize () const |
bool | isEmpty () const |
void | setMaxPackets (std::size_t n) |
std::size_t | getMaxPackets () const |
Public Attributes | |
Client | _client |
CallbackHandler< ClientSideNetUdp & > | _onClientTimeout |
CallbackHandler< ClientSideNetUdp & > | _onClientDisconnected |
CallbackHandler< ClientSideNetUdp &, TransmitPacketPtr & > | _onTransmitReturnPacket |
Protected Member Functions | |
bool | pushPacket (ReceivedPacketPtr &&fluxPck) |
void | forcePushPacket (ReceivedPacketPtr fluxPck) |
void | forcePushPacketFront (ReceivedPacketPtr fluxPck) |
FluxProcessResults | processReorder (Client &client, ReceivedPacketPtr &packet, ProtocolPacket::CounterType currentCounter, bool ignoreRealm) |
Protected Attributes | |
std::mutex | _g_mutexFlux |
std::deque< ReceivedPacketPtr > | _g_packets |
std::size_t | _g_remainingPackets {0} |
A client side network manager.
void fge::net::ClientSideNetUdp::sendTo | ( | TransmitPacketPtr & | pck, |
Identity const & | id ) |
TODO: have a transmission queue ?