![]() |
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 ?