FastEngine 0.9.4
A multiplayer oriented 2D engine made with Vulkan.
Loading...
Searching...
No Matches
fge::net::ClientSideNetUdp Class Reference

A client side network manager. More...

#include <C_server.hpp>

Inheritance diagram for fge::net::ClientSideNetUdp:
fge::net::NetFluxUdp

Public Member Functions

 ClientSideNetUdp (IpAddress::Types addressType=IpAddress::Types::Ipv4)
 ClientSideNetUdp (ClientSideNetUdp const &r)=delete
 ClientSideNetUdp (ClientSideNetUdp &&r) noexcept=delete
ClientSideNetUdpoperator= (ClientSideNetUdp const &r)=delete
ClientSideNetUdpoperator= (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}

Detailed Description

A client side network manager.

See also
ServerSideNetUdp

Member Function Documentation

◆ sendTo()

template<class TPacket>
void fge::net::ClientSideNetUdp::sendTo ( TransmitPacketPtr & pck,
Identity const & id )

TODO: have a transmission queue ?


The documentation for this class was generated from the following files: