45 bool reliable_,
bool ack_=
false):
69 assert(parent != NULL);
76 void runTimeouts(
float dtime, u32 peer_packet_quota);
93 void sendPackets(
float dtime, u32 peer_packet_quota);
147 u8 channelnum,
bool reliable);
Definition: semaphore.h:33
Definition: pointer.h:162
Definition: connection_internal.h:343
Definition: connectionthreads.h:114
SharedBuffer< u8 > handlePacketType_Reliable(Channel *channel, const SharedBuffer< u8 > &packetdata, Peer *peer, u8 channelnum, bool reliable)
Definition: connectionthreads.cpp:1290
void receive(SharedBuffer< u8 > &packetdata, bool &packet_queued)
Definition: connectionthreads.cpp:901
ConnectionReceiveThread()
Definition: connectionthreads.cpp:799
void * run()
Definition: connectionthreads.cpp:804
SharedBuffer< u8 > handlePacketType_Original(Channel *channel, const SharedBuffer< u8 > &packetdata, Peer *peer, u8 channelnum, bool reliable)
Definition: connectionthreads.cpp:1252
bool getFromBuffers(session_t &peer_id, SharedBuffer< u8 > &dst)
Definition: connectionthreads.cpp:1056
SharedBuffer< u8 > processPacket(Channel *channel, const SharedBuffer< u8 > &packetdata, session_t peer_id, u8 channelnum, bool reliable)
Definition: connectionthreads.cpp:1112
SharedBuffer< u8 > handlePacketType_Split(Channel *channel, const SharedBuffer< u8 > &packetdata, Peer *peer, u8 channelnum, bool reliable)
Definition: connectionthreads.cpp:1266
SharedBuffer< u8 > handlePacketType_Control(Channel *channel, const SharedBuffer< u8 > &packetdata, Peer *peer, u8 channelnum, bool reliable)
Definition: connectionthreads.cpp:1151
Connection * m_connection
Definition: connectionthreads.h:186
static const PacketTypeHandler packetTypeRouter[PACKET_TYPE_MAX]
Definition: connectionthreads.h:184
bool checkIncomingBuffers(Channel *channel, session_t &peer_id, SharedBuffer< u8 > &dst)
Definition: connectionthreads.cpp:1078
RateLimitHelper m_new_peer_ratelimit
Definition: connectionthreads.h:188
void setParent(Connection *parent)
Definition: connectionthreads.h:120
Definition: connectionthreads.h:56
unsigned int m_max_data_packets_per_iteration
Definition: connectionthreads.h:109
Semaphore m_send_sleep_semaphore
Definition: connectionthreads.h:106
void send(session_t peer_id, u8 channelnum, const SharedBuffer< u8 > &data)
Definition: connectionthreads.cpp:579
void * run()
Definition: connectionthreads.cpp:72
void processReliableCommand(ConnectionCommandPtr &c)
Definition: connectionthreads.cpp:385
std::queue< OutgoingPacket > m_outgoing_queue
Definition: connectionthreads.h:105
unsigned int m_iteration_packets_avaialble
Definition: connectionthreads.h:108
void disconnect_peer(session_t peer_id)
Definition: connectionthreads.cpp:557
void connect(Address address)
Definition: connectionthreads.cpp:514
void processNonReliableCommand(ConnectionCommandPtr &c)
Definition: connectionthreads.cpp:445
void setParent(Connection *parent)
Definition: connectionthreads.h:67
void sendToAll(u8 channelnum, const SharedBuffer< u8 > &data)
Definition: connectionthreads.cpp:620
float m_timeout
Definition: connectionthreads.h:104
void serve(Address bind_address)
Definition: connectionthreads.cpp:500
void disconnect()
Definition: connectionthreads.cpp:539
void setPeerTimeout(float peer_timeout)
Definition: connectionthreads.h:73
bool packetsQueued()
Definition: connectionthreads.cpp:144
void sendToAllReliable(ConnectionCommandPtr &c)
Definition: connectionthreads.cpp:629
unsigned int m_max_packets_requeued
Definition: connectionthreads.h:110
void sendAsPacket(session_t peer_id, u8 channelnum, const SharedBuffer< u8 > &data, bool ack=false)
Definition: connectionthreads.cpp:792
void runTimeouts(float dtime, u32 peer_packet_quota)
Definition: connectionthreads.cpp:171
void Trigger()
Definition: connectionthreads.cpp:139
bool rawSendAsPacket(session_t peer_id, u8 channelnum, const SharedBuffer< u8 > &data, bool reliable)
Definition: connectionthreads.cpp:331
void sendAsPacketReliable(BufferedPacketPtr &p, Channel *channel)
Definition: connectionthreads.cpp:312
void rawSend(const BufferedPacket *p)
Definition: connectionthreads.cpp:297
void sendReliable(ConnectionCommandPtr &c)
Definition: connectionthreads.cpp:611
void sendPackets(float dtime, u32 peer_packet_quota)
Definition: connectionthreads.cpp:643
Connection * m_connection
Definition: connectionthreads.h:102
void resendReliable(Channel &channel, const BufferedPacket *k, float resend_timeout)
Definition: connectionthreads.cpp:270
unsigned int m_max_packet_size
Definition: connectionthreads.h:103
Definition: connection.h:255
Definition: connection.h:122
Definition: connection_internal.h:444
@ PACKET_TYPE_MAX
Definition: connection_internal.h:126
std::shared_ptr< BufferedPacket > BufferedPacketPtr
Definition: connection.h:117
std::shared_ptr< ConnectionCommand > ConnectionCommandPtr
Definition: connection.h:114
u64 getTimeS()
Definition: porting.h:183
u16 session_t
Definition: networkprotocol.h:251
Definition: connection_internal.h:170
Definition: connectionthreads.h:163
SharedBuffer< u8 >(ConnectionReceiveThread::* handler)(Channel *channel, const SharedBuffer< u8 > &packet, Peer *peer, u8 channelnum, bool reliable)
Definition: connectionthreads.h:164
Definition: connectionthreads.h:169
int counter
Definition: connectionthreads.h:171
u64 time
Definition: connectionthreads.h:170
void tick()
Definition: connectionthreads.h:174
bool logged
Definition: connectionthreads.h:172
Definition: connectionthreads.h:37
u8 channelnum
Definition: connectionthreads.h:39
bool ack
Definition: connectionthreads.h:42
session_t peer_id
Definition: connectionthreads.h:38
bool reliable
Definition: connectionthreads.h:41
SharedBuffer< u8 > data
Definition: connectionthreads.h:40
OutgoingPacket(session_t peer_id_, u8 channelnum_, const SharedBuffer< u8 > &data_, bool reliable_, bool ack_=false)
Definition: connectionthreads.h:44
static std::string p(std::string path)
Definition: test_filesys.cpp:64