#include <internal.h>
Inheritance diagram for con::UDPPeer:
Collaboration diagram for con::UDPPeer:Public Member Functions | |
| UDPPeer (session_t id, const Address &address, Connection *connection) | |
| virtual | ~UDPPeer ()=default |
| void | PutReliableSendCommand (ConnectionCommandPtr &c, unsigned int max_packet_size) override |
| virtual const Address & | getAddress () const override |
| u16 | getNextSplitSequenceNumber (u8 channel) override |
| void | setNextSplitSequenceNumber (u8 channel, u16 seqnum) override |
| SharedBuffer< u8 > | addSplitPacket (u8 channel, BufferedPacketPtr &toadd, bool reliable) override |
| bool | isTimedOut (float timeout, std::string &reason) override |
Public Member Functions inherited from con::Peer | |
| virtual | ~Peer () |
| void | Drop () |
| bool | isPendingDeletion () const |
| void | ResetTimeout () |
| bool | isHalfOpen () const |
| void | SetFullyOpen () |
| virtual float | getStat (rtt_stat_type type) const |
Protected Member Functions | |
| void | reportRTT (float rtt) override |
| void | RunCommandQueues (unsigned int max_packet_size, unsigned int maxtransfer) |
| float | getResendTimeout () |
| void | setResendTimeout (float timeout) |
| bool | Ping (float dtime, SharedBuffer< u8 > &data) override |
Protected Member Functions inherited from con::Peer | |
| Peer (session_t id, const Address &address, Connection *connection) | |
| void | RTTStatistics (float rtt, const std::string &profiler_id="", unsigned int num_samples=1000) |
| bool | IncUseCount () |
| void | DecUseCount () |
Protected Member Functions inherited from con::IPeer | |
| IPeer (session_t id) | |
| ~IPeer () | |
Protected Attributes | |
| Channel | channels [CHANNEL_COUNT] |
| bool | m_pending_disconnect = false |
Protected Attributes inherited from con::Peer | |
| std::mutex | m_exclusive_access_mutex |
| bool | m_pending_deletion = false |
| Connection * | m_connection |
| Address | address |
| float | m_ping_timer = 0.0f |
Private Member Functions | |
| bool | processReliableSendCommand (ConnectionCommandPtr &c_ptr, unsigned int max_packet_size) |
Private Attributes | |
| float | resend_timeout = 0.5 |
Friends | |
| class | PeerHelper |
| class | ConnectionReceiveThread |
| class | ConnectionSendThread |
| class | Connection |
Additional Inherited Members | |
Public Attributes inherited from con::Peer | |
| unsigned int | m_increment_packets_remaining = 0 |
Public Attributes inherited from con::IPeer | |
| const session_t | id |
| con::UDPPeer::UDPPeer | ( | session_t | id, |
| const Address & | address, | ||
| Connection * | connection ) |
References channels, and START_RELIABLE_WINDOW_SIZE.
|
virtualdefault |
|
overridevirtual |
Reimplemented from con::Peer.
References CHANNEL_COUNT, channels, con::Channel::incoming_splits, and con::IncomingSplitBuffer::insert().
Here is the call graph for this function:
|
inlineoverridevirtual |
Implements con::IPeer.
References con::Peer::address.
|
overridevirtual |
Reimplemented from con::Peer.
References CHANNEL_COUNT, channels, and con::Channel::readNextSplitSeqNum().
Here is the call graph for this function:
|
inlineprotected |
References con::Peer::m_exclusive_access_mutex, and resend_timeout.
Referenced by reportRTT(), and con::ConnectionSendThread::runTimeouts().
Here is the caller graph for this function:
|
overridevirtual |
Reimplemented from con::Peer.
References CHANNEL_COUNT, channels, con::ReliablePacketBuffer::getTimedOuts(), con::Peer::isTimedOut(), itos(), con::Peer::m_exclusive_access_mutex, and con::Channel::outgoing_reliables_sent.
Here is the call graph for this function:
|
overrideprotectedvirtual |
Reimplemented from con::Peer.
References CONTROLTYPE_PING, con::Peer::isHalfOpen(), con::Peer::m_ping_timer, con::PACKET_TYPE_CONTROL, PING_TIMEOUT, and writeU8().
Referenced by con::ConnectionSendThread::runTimeouts().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
References con::Peer::address, BASE_HEADER_SIZE, channels, dout_con, FATAL_ERROR_IF, con::Connection::getDesc(), con::Channel::getOutgoingSequenceNumber(), con::Connection::GetPeerID(), con::Connection::GetProtocolID(), LOG, con::Peer::m_connection, m_pending_disconnect, con::makeAutoSplitPacket(), con::makePacket(), con::makeReliablePacket(), MAX_RELIABLE_WINDOW_SIZE, con::Channel::outgoing_reliables_sent, p(), con::Channel::putBackSequenceNumber(), con::Channel::queued_reliables, con::Channel::readNextSplitSeqNum(), RELIABLE_HEADER_SIZE, sanity_check, SEQNUM_MAX, con::Channel::setNextSplitSeqNum(), and con::ReliablePacketBuffer::size().
Referenced by PutReliableSendCommand(), and RunCommandQueues().
Here is the call graph for this function:
Here is the caller graph for this function:
|
overridevirtual |
Reimplemented from con::Peer.
References channels, derr_con, dout_con, con::Connection::getDesc(), con::Channel::getWindowSize(), LOG, con::Peer::m_connection, m_pending_disconnect, processReliableSendCommand(), con::Channel::queued_commands, and con::Channel::queued_reliables.
Here is the call graph for this function:
|
overrideprotectedvirtual |
Reimplemented from con::Peer.
References con::AVG_RTT, dout_con, con::Connection::getDesc(), getResendTimeout(), con::Peer::getStat(), con::Peer::m_connection, MAX_RELIABLE_WINDOW_SIZE, RESEND_TIMEOUT_FACTOR, RESEND_TIMEOUT_MAX, RESEND_TIMEOUT_MIN, con::Peer::RTTStatistics(), and setResendTimeout().
Here is the call graph for this function:
|
protected |
References channels, dout_con, con::Connection::getDesc(), LOG, con::Peer::m_connection, and processReliableSendCommand().
Referenced by con::ConnectionSendThread::runTimeouts().
Here is the call graph for this function:
Here is the caller graph for this function:
|
overridevirtual |
Reimplemented from con::Peer.
References CHANNEL_COUNT, channels, and con::Channel::setNextSplitSeqNum().
Here is the call graph for this function:
|
inlineprotected |
References con::Peer::m_exclusive_access_mutex, and resend_timeout.
Referenced by reportRTT().
Here is the caller graph for this function:
|
friend |
|
friend |
|
friend |
|
friend |
|
protected |
|
protected |
Referenced by processReliableSendCommand(), PutReliableSendCommand(), and con::ConnectionSendThread::sendPackets().
|
private |
Referenced by getResendTimeout(), and setResendTimeout().