webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | List of all members
cricket::PseudoTcp Class Reference

#include <pseudotcp.h>

Inheritance diagram for cricket::PseudoTcp:
PseudoTcpForTest

Classes

struct  RSegment
 
struct  Segment
 
struct  SSegment
 

Public Types

enum  TcpState {
  TCP_LISTEN, TCP_SYN_SENT, TCP_SYN_RECEIVED, TCP_ESTABLISHED,
  TCP_CLOSED, TCP_LISTEN, TCP_SYN_SENT, TCP_SYN_RECEIVED,
  TCP_ESTABLISHED, TCP_CLOSED
}
 
enum  Option {
  OPT_NODELAY, OPT_ACKDELAY, OPT_RCVBUF, OPT_SNDBUF,
  OPT_NODELAY, OPT_ACKDELAY, OPT_RCVBUF, OPT_SNDBUF
}
 
enum  TcpState {
  TCP_LISTEN, TCP_SYN_SENT, TCP_SYN_RECEIVED, TCP_ESTABLISHED,
  TCP_CLOSED, TCP_LISTEN, TCP_SYN_SENT, TCP_SYN_RECEIVED,
  TCP_ESTABLISHED, TCP_CLOSED
}
 
enum  Option {
  OPT_NODELAY, OPT_ACKDELAY, OPT_RCVBUF, OPT_SNDBUF,
  OPT_NODELAY, OPT_ACKDELAY, OPT_RCVBUF, OPT_SNDBUF
}
 

Public Member Functions

 PseudoTcp (IPseudoTcpNotify *notify, uint32_t conv)
 
virtual ~PseudoTcp ()
 
int Connect ()
 
int Recv (char *buffer, size_t len)
 
int Send (const char *buffer, size_t len)
 
void Close (bool force)
 
int GetError ()
 
TcpState State () const
 
void NotifyMTU (uint16_t mtu)
 
void NotifyClock (uint32_t now)
 
bool NotifyPacket (const char *buffer, size_t len)
 
bool GetNextClock (uint32_t now, long &timeout)
 
void GetOption (Option opt, int *value)
 
void SetOption (Option opt, int value)
 
uint32_t GetCongestionWindow () const
 
uint32_t GetBytesInFlight () const
 
uint32_t GetBytesBufferedNotSent () const
 
uint32_t GetRoundTripTimeEstimateMs () const
 
 PseudoTcp (IPseudoTcpNotify *notify, uint32_t conv)
 
virtual ~PseudoTcp ()
 
int Connect ()
 
int Recv (char *buffer, size_t len)
 
int Send (const char *buffer, size_t len)
 
void Close (bool force)
 
int GetError ()
 
TcpState State () const
 
void NotifyMTU (uint16_t mtu)
 
void NotifyClock (uint32_t now)
 
bool NotifyPacket (const char *buffer, size_t len)
 
bool GetNextClock (uint32_t now, long &timeout)
 
void GetOption (Option opt, int *value)
 
void SetOption (Option opt, int value)
 
uint32_t GetCongestionWindow () const
 
uint32_t GetBytesInFlight () const
 
uint32_t GetBytesBufferedNotSent () const
 
uint32_t GetRoundTripTimeEstimateMs () const
 

Static Public Member Functions

static uint32_t Now ()
 
static uint32_t Now ()
 

Protected Types

enum  SendFlags {
  sfNone, sfDelayedAck, sfImmediateAck, sfNone,
  sfDelayedAck, sfImmediateAck
}
 
enum  SendFlags {
  sfNone, sfDelayedAck, sfImmediateAck, sfNone,
  sfDelayedAck, sfImmediateAck
}
 
typedef std::list< SSegmentSList
 
typedef std::list< SSegmentSList
 

Protected Member Functions

uint32_t queue (const char *data, uint32_t len, bool bCtrl)
 
IPseudoTcpNotify::WriteResult packet (uint32_t seq, uint8_t flags, uint32_t offset, uint32_t len)
 
bool parse (const uint8_t *buffer, uint32_t size)
 
void attemptSend (SendFlags sflags=sfNone)
 
void closedown (uint32_t err=0)
 
bool clock_check (uint32_t now, long &nTimeout)
 
bool process (Segment &seg)
 
bool transmit (const SList::iterator &seg, uint32_t now)
 
void adjustMTU ()
 
bool isReceiveBufferFull () const
 
void disableWindowScale ()
 
uint32_t queue (const char *data, uint32_t len, bool bCtrl)
 
IPseudoTcpNotify::WriteResult packet (uint32_t seq, uint8_t flags, uint32_t offset, uint32_t len)
 
bool parse (const uint8_t *buffer, uint32_t size)
 
void attemptSend (SendFlags sflags=sfNone)
 
void closedown (uint32_t err=0)
 
bool clock_check (uint32_t now, long &nTimeout)
 
bool process (Segment &seg)
 
bool transmit (const SList::iterator &seg, uint32_t now)
 
void adjustMTU ()
 
bool isReceiveBufferFull () const
 
void disableWindowScale ()
 

Member Typedef Documentation

◆ SList [1/2]

◆ SList [2/2]

Member Enumeration Documentation

◆ Option [1/2]

Enumerator
OPT_NODELAY 
OPT_ACKDELAY 
OPT_RCVBUF 
OPT_SNDBUF 
OPT_NODELAY 
OPT_ACKDELAY 
OPT_RCVBUF 
OPT_SNDBUF 

◆ Option [2/2]

Enumerator
OPT_NODELAY 
OPT_ACKDELAY 
OPT_RCVBUF 
OPT_SNDBUF 
OPT_NODELAY 
OPT_ACKDELAY 
OPT_RCVBUF 
OPT_SNDBUF 

◆ SendFlags [1/2]

Enumerator
sfNone 
sfDelayedAck 
sfImmediateAck 
sfNone 
sfDelayedAck 
sfImmediateAck 

◆ SendFlags [2/2]

Enumerator
sfNone 
sfDelayedAck 
sfImmediateAck 
sfNone 
sfDelayedAck 
sfImmediateAck 

◆ TcpState [1/2]

Enumerator
TCP_LISTEN 
TCP_SYN_SENT 
TCP_SYN_RECEIVED 
TCP_ESTABLISHED 
TCP_CLOSED 
TCP_LISTEN 
TCP_SYN_SENT 
TCP_SYN_RECEIVED 
TCP_ESTABLISHED 
TCP_CLOSED 

◆ TcpState [2/2]

Enumerator
TCP_LISTEN 
TCP_SYN_SENT 
TCP_SYN_RECEIVED 
TCP_ESTABLISHED 
TCP_CLOSED 
TCP_LISTEN 
TCP_SYN_SENT 
TCP_SYN_RECEIVED 
TCP_ESTABLISHED 
TCP_CLOSED 

Constructor & Destructor Documentation

◆ PseudoTcp() [1/2]

cricket::PseudoTcp::PseudoTcp ( IPseudoTcpNotify notify,
uint32_t  conv 
)

◆ ~PseudoTcp() [1/2]

cricket::PseudoTcp::~PseudoTcp ( )
virtual

◆ PseudoTcp() [2/2]

cricket::PseudoTcp::PseudoTcp ( IPseudoTcpNotify notify,
uint32_t  conv 
)

◆ ~PseudoTcp() [2/2]

virtual cricket::PseudoTcp::~PseudoTcp ( )
virtual

Member Function Documentation

◆ adjustMTU() [1/2]

void cricket::PseudoTcp::adjustMTU ( )
protected

◆ adjustMTU() [2/2]

void cricket::PseudoTcp::adjustMTU ( )
protected

◆ attemptSend() [1/2]

void cricket::PseudoTcp::attemptSend ( SendFlags  sflags = sfNone)
protected

◆ attemptSend() [2/2]

void cricket::PseudoTcp::attemptSend ( SendFlags  sflags = sfNone)
protected

◆ clock_check() [1/2]

bool cricket::PseudoTcp::clock_check ( uint32_t  now,
long &  nTimeout 
)
protected

◆ clock_check() [2/2]

bool cricket::PseudoTcp::clock_check ( uint32_t  now,
long &  nTimeout 
)
protected

◆ Close() [1/2]

void cricket::PseudoTcp::Close ( bool  force)

◆ Close() [2/2]

void cricket::PseudoTcp::Close ( bool  force)

◆ closedown() [1/2]

void cricket::PseudoTcp::closedown ( uint32_t  err = 0)
protected

◆ closedown() [2/2]

void cricket::PseudoTcp::closedown ( uint32_t  err = 0)
protected

◆ Connect() [1/2]

int cricket::PseudoTcp::Connect ( )

◆ Connect() [2/2]

int cricket::PseudoTcp::Connect ( )

◆ disableWindowScale() [1/2]

void cricket::PseudoTcp::disableWindowScale ( )
protected

◆ disableWindowScale() [2/2]

void cricket::PseudoTcp::disableWindowScale ( )
protected

◆ GetBytesBufferedNotSent() [1/2]

uint32_t cricket::PseudoTcp::GetBytesBufferedNotSent ( ) const

◆ GetBytesBufferedNotSent() [2/2]

uint32_t cricket::PseudoTcp::GetBytesBufferedNotSent ( ) const

◆ GetBytesInFlight() [1/2]

uint32_t cricket::PseudoTcp::GetBytesInFlight ( ) const

◆ GetBytesInFlight() [2/2]

uint32_t cricket::PseudoTcp::GetBytesInFlight ( ) const

◆ GetCongestionWindow() [1/2]

uint32_t cricket::PseudoTcp::GetCongestionWindow ( ) const

◆ GetCongestionWindow() [2/2]

uint32_t cricket::PseudoTcp::GetCongestionWindow ( ) const

◆ GetError() [1/2]

int cricket::PseudoTcp::GetError ( )

◆ GetError() [2/2]

int cricket::PseudoTcp::GetError ( )

◆ GetNextClock() [1/2]

bool cricket::PseudoTcp::GetNextClock ( uint32_t  now,
long &  timeout 
)

◆ GetNextClock() [2/2]

bool cricket::PseudoTcp::GetNextClock ( uint32_t  now,
long &  timeout 
)

◆ GetOption() [1/2]

void cricket::PseudoTcp::GetOption ( Option  opt,
int *  value 
)

◆ GetOption() [2/2]

void cricket::PseudoTcp::GetOption ( Option  opt,
int *  value 
)

◆ GetRoundTripTimeEstimateMs() [1/2]

uint32_t cricket::PseudoTcp::GetRoundTripTimeEstimateMs ( ) const

◆ GetRoundTripTimeEstimateMs() [2/2]

uint32_t cricket::PseudoTcp::GetRoundTripTimeEstimateMs ( ) const

◆ isReceiveBufferFull() [1/2]

bool cricket::PseudoTcp::isReceiveBufferFull ( ) const
protected

◆ isReceiveBufferFull() [2/2]

bool cricket::PseudoTcp::isReceiveBufferFull ( ) const
protected

◆ NotifyClock() [1/2]

void cricket::PseudoTcp::NotifyClock ( uint32_t  now)

◆ NotifyClock() [2/2]

void cricket::PseudoTcp::NotifyClock ( uint32_t  now)

◆ NotifyMTU() [1/2]

void cricket::PseudoTcp::NotifyMTU ( uint16_t  mtu)

◆ NotifyMTU() [2/2]

void cricket::PseudoTcp::NotifyMTU ( uint16_t  mtu)

◆ NotifyPacket() [1/2]

bool cricket::PseudoTcp::NotifyPacket ( const char *  buffer,
size_t  len 
)

◆ NotifyPacket() [2/2]

bool cricket::PseudoTcp::NotifyPacket ( const char *  buffer,
size_t  len 
)

◆ Now() [1/2]

uint32_t cricket::PseudoTcp::Now ( )
static

◆ Now() [2/2]

static uint32_t cricket::PseudoTcp::Now ( )
static

◆ packet() [1/2]

IPseudoTcpNotify::WriteResult cricket::PseudoTcp::packet ( uint32_t  seq,
uint8_t  flags,
uint32_t  offset,
uint32_t  len 
)
protected

◆ packet() [2/2]

IPseudoTcpNotify::WriteResult cricket::PseudoTcp::packet ( uint32_t  seq,
uint8_t  flags,
uint32_t  offset,
uint32_t  len 
)
protected

◆ parse() [1/2]

bool cricket::PseudoTcp::parse ( const uint8_t buffer,
uint32_t  size 
)
protected

◆ parse() [2/2]

bool cricket::PseudoTcp::parse ( const uint8_t buffer,
uint32_t  size 
)
protected

◆ process() [1/2]

bool cricket::PseudoTcp::process ( Segment seg)
protected

◆ process() [2/2]

bool cricket::PseudoTcp::process ( Segment seg)
protected

◆ queue() [1/2]

uint32_t cricket::PseudoTcp::queue ( const char *  data,
uint32_t  len,
bool  bCtrl 
)
protected

◆ queue() [2/2]

uint32_t cricket::PseudoTcp::queue ( const char *  data,
uint32_t  len,
bool  bCtrl 
)
protected

◆ Recv() [1/2]

int cricket::PseudoTcp::Recv ( char *  buffer,
size_t  len 
)

◆ Recv() [2/2]

int cricket::PseudoTcp::Recv ( char *  buffer,
size_t  len 
)

◆ Send() [1/2]

int cricket::PseudoTcp::Send ( const char *  buffer,
size_t  len 
)

◆ Send() [2/2]

int cricket::PseudoTcp::Send ( const char *  buffer,
size_t  len 
)

◆ SetOption() [1/2]

void cricket::PseudoTcp::SetOption ( Option  opt,
int  value 
)

◆ SetOption() [2/2]

void cricket::PseudoTcp::SetOption ( Option  opt,
int  value 
)

◆ State() [1/2]

TcpState cricket::PseudoTcp::State ( ) const
inline

◆ State() [2/2]

TcpState cricket::PseudoTcp::State ( ) const
inline

◆ transmit() [1/2]

bool cricket::PseudoTcp::transmit ( const SList::iterator &  seg,
uint32_t  now 
)
protected

◆ transmit() [2/2]

bool cricket::PseudoTcp::transmit ( const SList::iterator &  seg,
uint32_t  now 
)
protected

The documentation for this class was generated from the following files: