30 bool reliable_,
bool ack_=
false):
54 assert(parent != NULL);
61 void runTimeouts(
float dtime, u32 peer_packet_quota);
78 void sendPackets(
float dtime, u32 peer_packet_quota);
132 u8 channelnum,
bool reliable);
Definition semaphore.h:18
Thread(const std::string &name="")
Definition thread.cpp:68
Definition internal.h:380
SharedBuffer< u8 > handlePacketType_Reliable(Channel *channel, const SharedBuffer< u8 > &packetdata, Peer *peer, u8 channelnum, bool reliable)
Definition threads.cpp:1303
void receive(SharedBuffer< u8 > &packetdata, bool &packet_queued)
Definition threads.cpp:914
ConnectionReceiveThread()
Definition threads.cpp:812
void * run()
Definition threads.cpp:817
SharedBuffer< u8 > handlePacketType_Original(Channel *channel, const SharedBuffer< u8 > &packetdata, Peer *peer, u8 channelnum, bool reliable)
Definition threads.cpp:1265
bool getFromBuffers(session_t &peer_id, SharedBuffer< u8 > &dst)
Definition threads.cpp:1069
SharedBuffer< u8 > processPacket(Channel *channel, const SharedBuffer< u8 > &packetdata, session_t peer_id, u8 channelnum, bool reliable)
Definition threads.cpp:1125
SharedBuffer< u8 > handlePacketType_Split(Channel *channel, const SharedBuffer< u8 > &packetdata, Peer *peer, u8 channelnum, bool reliable)
Definition threads.cpp:1279
SharedBuffer< u8 > handlePacketType_Control(Channel *channel, const SharedBuffer< u8 > &packetdata, Peer *peer, u8 channelnum, bool reliable)
Definition threads.cpp:1164
Connection * m_connection
Definition threads.h:171
static const PacketTypeHandler packetTypeRouter[PACKET_TYPE_MAX]
Definition threads.h:169
bool checkIncomingBuffers(Channel *channel, session_t &peer_id, SharedBuffer< u8 > &dst)
Definition threads.cpp:1091
RateLimitHelper m_new_peer_ratelimit
Definition threads.h:173
void setParent(Connection *parent)
Definition threads.h:105
unsigned int m_max_data_packets_per_iteration
Definition threads.h:94
Semaphore m_send_sleep_semaphore
Definition threads.h:91
void send(session_t peer_id, u8 channelnum, const SharedBuffer< u8 > &data)
Definition threads.cpp:592
void * run()
Definition threads.cpp:70
void fix_peer_id(session_t own_peer_id)
Definition threads.cpp:572
void processReliableCommand(ConnectionCommandPtr &c)
Definition threads.cpp:393
std::queue< OutgoingPacket > m_outgoing_queue
Definition threads.h:90
unsigned int m_iteration_packets_avaialble
Definition threads.h:93
void disconnect_peer(session_t peer_id)
Definition threads.cpp:550
void connect(Address address)
Definition threads.cpp:515
void processNonReliableCommand(ConnectionCommandPtr &c)
Definition threads.cpp:461
void setParent(Connection *parent)
Definition threads.h:52
void sendToAll(u8 channelnum, const SharedBuffer< u8 > &data)
Definition threads.cpp:633
float m_timeout
Definition threads.h:89
void disconnect()
Definition threads.cpp:532
void setPeerTimeout(float peer_timeout)
Definition threads.h:58
bool packetsQueued()
Definition threads.cpp:142
void sendToAllReliable(ConnectionCommandPtr &c)
Definition threads.cpp:642
ConnectionSendThread(unsigned int max_packet_size, float timeout)
Definition threads.cpp:52
unsigned int m_max_packets_requeued
Definition threads.h:95
void sendAsPacket(session_t peer_id, u8 channelnum, const SharedBuffer< u8 > &data, bool ack=false)
Definition threads.cpp:805
void runTimeouts(float dtime, u32 peer_packet_quota)
Definition threads.cpp:169
void Trigger()
Definition threads.cpp:137
bool rawSendAsPacket(session_t peer_id, u8 channelnum, const SharedBuffer< u8 > &data, bool reliable)
Definition threads.cpp:339
void sendAsPacketReliable(BufferedPacketPtr &p, Channel *channel)
Definition threads.cpp:319
friend class UDPPeer
Definition threads.h:44
void rawSend(const BufferedPacket *p)
Definition threads.cpp:304
void sendReliable(ConnectionCommandPtr &c)
Definition threads.cpp:624
void sendPackets(float dtime, u32 peer_packet_quota)
Definition threads.cpp:656
Connection * m_connection
Definition threads.h:87
void resendReliable(Channel &channel, const BufferedPacket *k, float resend_timeout)
Definition threads.cpp:277
unsigned int m_max_packet_size
Definition threads.h:88
@ PACKET_TYPE_MAX
Definition internal.h:118
std::shared_ptr< BufferedPacket > BufferedPacketPtr
Definition impl.h:89
std::shared_ptr< ConnectionCommand > ConnectionCommandPtr
Definition impl.h:86
u64 getTimeS()
Definition porting.h:174
u16 session_t
Definition networkprotocol.h:27
Definition internal.h:195
SharedBuffer< u8 >(ConnectionReceiveThread::* handler)(Channel *channel, const SharedBuffer< u8 > &packet, Peer *peer, u8 channelnum, bool reliable)
Definition threads.h:149
int counter
Definition threads.h:156
u64 time
Definition threads.h:155
void tick()
Definition threads.h:159
bool logged
Definition threads.h:157
u8 channelnum
Definition threads.h:24
bool ack
Definition threads.h:27
session_t peer_id
Definition threads.h:23
bool reliable
Definition threads.h:26
SharedBuffer< u8 > data
Definition threads.h:25
OutgoingPacket(session_t peer_id_, u8 channelnum_, const SharedBuffer< u8 > &data_, bool reliable_, bool ack_=false)
Definition threads.h:29
static std::string p(std::string path)
Definition test_filesys.cpp:73