Skip to content

Class UdpProtocol

ClassList > UdpProtocol

Inherits the following classes: IPollSink

Classes

Type Name
struct Event
struct Stats

Public Attributes

Type Name
int connection_id
uint32 last_input_packet_recv_time
uint32 last_network_stats_interval
uint32 last_quality_report_time
UdpMsg * msg
uint32 random
uint32 roundtrips_remaining
struct UdpProtocol running
int send_time
struct UdpProtocol sync

Public Functions

Type Name
void Disconnect ()
void GGPONetworkStats (Stats * stats)
bool GetEvent (UdpProtocol::Event & e)
void GetNetworkStats (struct FGGPONetworkStats * stats)
bool GetPeerConnectStatus (int id, int * frame)
bool HandlesMsg (int connection_id, UdpMsg * msg)
void Init (Udp * udp, Poll & p, int queue, int connection_id, UdpMsg::connect_status * status)
bool IsInitialized ()
bool IsRunning ()
bool IsSynchronized ()
virtual bool OnLoopPoll (void * cookie)
void OnMsg (UdpMsg * msg, int len)
int RecommendFrameDelay ()
void SendInput (GameInput & input)
void SendInputAck ()
void SetDisconnectNotifyStart (int timeout)
void SetDisconnectTimeout (int timeout)
void SetLocalFrameNumber (int num)
void Synchronize ()
UdpProtocol ()
virtual ~UdpProtocol ()

Public Functions inherited from IPollSink

See IPollSink

Type Name
virtual bool OnHandlePoll (void *)
virtual bool OnLoopPoll (void *)
virtual bool OnMsgPoll (void *)
virtual bool OnPeriodicPoll (void *, int)
virtual ~IPollSink ()

Protected Types

Type Name
enum State

Protected Attributes

Type Name
int _bytes_sent
bool _connected
int _connection_id
State _current_state
unsigned int _disconnect_event_sent
bool _disconnect_notify_sent
unsigned int _disconnect_notify_start
unsigned int _disconnect_timeout
RingBuffer< UdpProtocol::Event, 64 > _event_queue
int _kbps_sent
GameInput _last_acked_input
GameInput _last_received_input
unsigned int _last_recv_time
unsigned int _last_send_time
GameInput _last_sent_input
UdpMsg::connect_status * _local_connect_status
int _local_frame_advantage
uint16 _magic_number
uint16 _next_recv_seq
uint16 _next_send_seq
struct UdpProtocol _oo_packet
int _oop_percent
int _packets_sent
UdpMsg::connect_status _peer_connect_status
RingBuffer< GameInput, 64 > _pending_output
int _queue
int _remote_frame_advantage
uint16 _remote_magic_number
int _round_trip_time
int _send_latency
RingBuffer< QueueEntry, 64 > _send_queue
unsigned int _shutdown_timeout
union UdpProtocol _state
int _stats_start_time
TimeSync _timesync
Udp * _udp
ConnectionManager * connection_manager

Protected Functions

Type Name
void ClearSendQueue (void)
bool CreateSocket (int retries)
void DispatchMsg (uint8 * buffer, int len)
void Log (const char * fmt, ...)
void LogEvent (const char * prefix, const UdpProtocol::Event & evt)
void LogMsg (const char * prefix, UdpMsg * msg)
bool OnInput (UdpMsg * msg, int len)
bool OnInputAck (UdpMsg * msg, int len)
bool OnInvalid (UdpMsg * msg, int len)
bool OnKeepAlive (UdpMsg * msg, int len)
bool OnQualityReply (UdpMsg * msg, int len)
bool OnQualityReport (UdpMsg * msg, int len)
bool OnSyncReply (UdpMsg * msg, int len)
bool OnSyncRequest (UdpMsg * msg, int len)
void PumpSendQueue ()
void QueueEvent (const UdpProtocol::Event & evt)
void SendMsg (UdpMsg * msg)
void SendPendingOutput ()
void SendSyncRequest ()
void UpdateNetworkStats (void)

Public Attributes Documentation

variable connection_id

int UdpProtocol::connection_id;

variable last_input_packet_recv_time

uint32 UdpProtocol::last_input_packet_recv_time;

variable last_network_stats_interval

uint32 UdpProtocol::last_network_stats_interval;

variable last_quality_report_time

uint32 UdpProtocol::last_quality_report_time;

variable msg

UdpMsg* UdpProtocol::msg;

variable random

uint32 UdpProtocol::random;

variable roundtrips_remaining

uint32 UdpProtocol::roundtrips_remaining;

variable running

struct UdpProtocol UdpProtocol::running;

variable send_time

int UdpProtocol::send_time;

variable sync

struct UdpProtocol UdpProtocol::sync;

Public Functions Documentation

function Disconnect

void UdpProtocol::Disconnect () 

function GGPONetworkStats

void UdpProtocol::GGPONetworkStats (
    Stats * stats
) 

function GetEvent

bool UdpProtocol::GetEvent (
    UdpProtocol::Event & e
) 

function GetNetworkStats

void UdpProtocol::GetNetworkStats (
    struct FGGPONetworkStats * stats
) 

function GetPeerConnectStatus

bool UdpProtocol::GetPeerConnectStatus (
    int id,
    int * frame
) 

function HandlesMsg

bool UdpProtocol::HandlesMsg (
    int connection_id,
    UdpMsg * msg
) 

function Init

void UdpProtocol::Init (
    Udp * udp,
    Poll & p,
    int queue,
    int connection_id,
    UdpMsg::connect_status * status
) 

function IsInitialized

inline bool UdpProtocol::IsInitialized () 

function IsRunning

inline bool UdpProtocol::IsRunning () 

function IsSynchronized

inline bool UdpProtocol::IsSynchronized () 

function OnLoopPoll

virtual bool UdpProtocol::OnLoopPoll (
    void * cookie
) 

Implements IPollSink::OnLoopPoll


function OnMsg

void UdpProtocol::OnMsg (
    UdpMsg * msg,
    int len
) 

function RecommendFrameDelay

int UdpProtocol::RecommendFrameDelay () 

function SendInput

void UdpProtocol::SendInput (
    GameInput & input
) 

function SendInputAck

void UdpProtocol::SendInputAck () 

function SetDisconnectNotifyStart

void UdpProtocol::SetDisconnectNotifyStart (
    int timeout
) 

function SetDisconnectTimeout

void UdpProtocol::SetDisconnectTimeout (
    int timeout
) 

function SetLocalFrameNumber

void UdpProtocol::SetLocalFrameNumber (
    int num
) 

function Synchronize

void UdpProtocol::Synchronize () 

function UdpProtocol

UdpProtocol::UdpProtocol () 

function ~UdpProtocol

virtual UdpProtocol::~UdpProtocol () 

Protected Types Documentation

enum State

enum UdpProtocol::State {
    Syncing,
    Synchronzied,
    Running,
    Disconnected
};

Protected Attributes Documentation

variable _bytes_sent

int UdpProtocol::_bytes_sent;

variable _connected

bool UdpProtocol::_connected;

variable _connection_id

int UdpProtocol::_connection_id;

variable _current_state

State UdpProtocol::_current_state;

variable _disconnect_event_sent

unsigned int UdpProtocol::_disconnect_event_sent;

variable _disconnect_notify_sent

bool UdpProtocol::_disconnect_notify_sent;

variable _disconnect_notify_start

unsigned int UdpProtocol::_disconnect_notify_start;

variable _disconnect_timeout

unsigned int UdpProtocol::_disconnect_timeout;

variable _event_queue

RingBuffer<UdpProtocol::Event, 64> UdpProtocol::_event_queue;

variable _kbps_sent

int UdpProtocol::_kbps_sent;

variable _last_acked_input

GameInput UdpProtocol::_last_acked_input;

variable _last_received_input

GameInput UdpProtocol::_last_received_input;

variable _last_recv_time

unsigned int UdpProtocol::_last_recv_time;

variable _last_send_time

unsigned int UdpProtocol::_last_send_time;

variable _last_sent_input

GameInput UdpProtocol::_last_sent_input;

variable _local_connect_status

UdpMsg::connect_status* UdpProtocol::_local_connect_status;

variable _local_frame_advantage

int UdpProtocol::_local_frame_advantage;

variable _magic_number

uint16 UdpProtocol::_magic_number;

variable _next_recv_seq

uint16 UdpProtocol::_next_recv_seq;

variable _next_send_seq

uint16 UdpProtocol::_next_send_seq;

variable _oo_packet

struct UdpProtocol UdpProtocol::_oo_packet;

variable _oop_percent

int UdpProtocol::_oop_percent;

variable _packets_sent

int UdpProtocol::_packets_sent;

variable _peer_connect_status

UdpMsg::connect_status UdpProtocol::_peer_connect_status[UDP_MSG_MAX_PLAYERS];

variable _pending_output

RingBuffer<GameInput, 64> UdpProtocol::_pending_output;

variable _queue

int UdpProtocol::_queue;

variable _remote_frame_advantage

int UdpProtocol::_remote_frame_advantage;

variable _remote_magic_number

uint16 UdpProtocol::_remote_magic_number;

variable _round_trip_time

int UdpProtocol::_round_trip_time;

variable _send_latency

int UdpProtocol::_send_latency;

variable _send_queue

RingBuffer<QueueEntry, 64> UdpProtocol::_send_queue;

variable _shutdown_timeout

unsigned int UdpProtocol::_shutdown_timeout;

variable _state

union UdpProtocol UdpProtocol::_state;

variable _stats_start_time

int UdpProtocol::_stats_start_time;

variable _timesync

TimeSync UdpProtocol::_timesync;

variable _udp

Udp* UdpProtocol::_udp;

variable connection_manager

ConnectionManager* UdpProtocol::connection_manager;

Protected Functions Documentation

function ClearSendQueue

void UdpProtocol::ClearSendQueue (
    void
) 

function CreateSocket

bool UdpProtocol::CreateSocket (
    int retries
) 

function DispatchMsg

void UdpProtocol::DispatchMsg (
    uint8 * buffer,
    int len
) 

function Log

void UdpProtocol::Log (
    const char * fmt,
    ...
) 

function LogEvent

void UdpProtocol::LogEvent (
    const char * prefix,
    const UdpProtocol::Event & evt
) 

function LogMsg

void UdpProtocol::LogMsg (
    const char * prefix,
    UdpMsg * msg
) 

function OnInput

bool UdpProtocol::OnInput (
    UdpMsg * msg,
    int len
) 

function OnInputAck

bool UdpProtocol::OnInputAck (
    UdpMsg * msg,
    int len
) 

function OnInvalid

bool UdpProtocol::OnInvalid (
    UdpMsg * msg,
    int len
) 

function OnKeepAlive

bool UdpProtocol::OnKeepAlive (
    UdpMsg * msg,
    int len
) 

function OnQualityReply

bool UdpProtocol::OnQualityReply (
    UdpMsg * msg,
    int len
) 

function OnQualityReport

bool UdpProtocol::OnQualityReport (
    UdpMsg * msg,
    int len
) 

function OnSyncReply

bool UdpProtocol::OnSyncReply (
    UdpMsg * msg,
    int len
) 

function OnSyncRequest

bool UdpProtocol::OnSyncRequest (
    UdpMsg * msg,
    int len
) 

function PumpSendQueue

void UdpProtocol::PumpSendQueue () 

function QueueEvent

void UdpProtocol::QueueEvent (
    const UdpProtocol::Event & evt
) 

function SendMsg

void UdpProtocol::SendMsg (
    UdpMsg * msg
) 

function SendPendingOutput

void UdpProtocol::SendPendingOutput () 

function SendSyncRequest

void UdpProtocol::SendSyncRequest () 

function UpdateNetworkStats

void UdpProtocol::UpdateNetworkStats (
    void
) 


The documentation for this class was generated from the following file C:/Users/wistf/Unreal Projects/NightSkyEngine/Plugins/NightSkyEngine/Source/GGPOUE4/Private/network/udp_proto.h