EMA C++ Edition
List of all members | Public Types
refinitiv::ema::access::CosFlowControl Class Reference

CosFlowControl encapsulates flow control member of the ClassOfService class. More...

Public Types

enum  CosFlowControlType {
  NoneEnum = 0 ,
  BidirectionalEnum = 1
}
 

Public Member Functions

Constructor
 CosFlowControl ()
  More...
 
 CosFlowControl (const CosFlowControl &other)
  More...
 
Destructor
virtual ~CosFlowControl ()
  More...
 
Operations
CosFlowControloperator= (const CosFlowControl &other)
  More...
 
CosFlowControlclear ()
  More...
 
CosFlowControltype (CosFlowControlType type=NoneEnum)
  More...
 
CosFlowControlrecvWindowSize (Int64 size=-1)
  More...
 
CosFlowControlsendWindowSize (Int64 size)
  More...
 

Accessors

CosFlowControlType getType () const
  More...
 
Int64 getRecvWindowSize () const
  More...
 
Int64 getSendWindowSize () const
  More...
 

Detailed Description

CosFlowControl contains options related to flow control, such as the type and the allowed window of outstanding data.

See also
ClassOfService

Definition at line 171 of file TunnelStreamRequest.h.

Member Enumeration Documentation

◆ CosFlowControlType

An enumeration representing flow control type.

Enumerator
NoneEnum 

Indicates no flow control

BidirectionalEnum 

Indicates bidirectional flow control

Definition at line 178 of file TunnelStreamRequest.h.

Constructor & Destructor Documentation

◆ CosFlowControl() [1/2]

refinitiv::ema::access::CosFlowControl::CosFlowControl ( )

Default constructor

◆ CosFlowControl() [2/2]

refinitiv::ema::access::CosFlowControl::CosFlowControl ( const CosFlowControl other)

Copy constructor

Parameters
[in]otherspecifies CosFlowControl object to copy from

◆ ~CosFlowControl()

virtual refinitiv::ema::access::CosFlowControl::~CosFlowControl ( )
virtual

Destructor

Member Function Documentation

◆ clear()

CosFlowControl& refinitiv::ema::access::CosFlowControl::clear ( )

Clears object by setting defaults

Returns
reference to this object

◆ getRecvWindowSize()

Int64 refinitiv::ema::access::CosFlowControl::getRecvWindowSize ( ) const

Returns receive window size

Returns
receive window size

◆ getSendWindowSize()

Int64 refinitiv::ema::access::CosFlowControl::getSendWindowSize ( ) const

Returns send window size

Returns
send window size

◆ getType()

CosFlowControlType refinitiv::ema::access::CosFlowControl::getType ( ) const

Returns flow control type

Returns
flow control type

◆ operator=()

CosFlowControl& refinitiv::ema::access::CosFlowControl::operator= ( const CosFlowControl other)

Assignment operator

Parameters
[in]otherspecifies CosFlowControl object to copy from
Returns
reference to this object

◆ recvWindowSize()

CosFlowControl& refinitiv::ema::access::CosFlowControl::recvWindowSize ( Int64  size = -1)

Specifies the amount of data (in bytes) that the remote peer can send to the application over a reliable tunnel stream.

Parameters
[in]sizespecifies number of bytes; valid range is 0 - 2,147,483,647
Returns
reference to this object
Exceptions
OmmOutOfRangeExceptionif passed in size is out of range
Remarks
If CosFlowControlType::NoneEnum is set, this parameter has no effect
if -1 is set and CosFlowControlType::BidirectionalEnum is used, then the default value of 12288 is used

◆ sendWindowSize()

CosFlowControl& refinitiv::ema::access::CosFlowControl::sendWindowSize ( Int64  size)

Specifies the amount of data (in bytes) that the application can send to the remote peer over a reliable tunnel stream.

Parameters
[in]sizespecifies number of bytes; valid range is 0 - 2,147,483,647
Returns
reference to this object
Exceptions
OmmOutOfRangeExceptionif passed in size is out of range
Remarks
If CosFlowControlType::NoneEnum is set, this parameter has no effect

◆ type()

CosFlowControl& refinitiv::ema::access::CosFlowControl::type ( CosFlowControlType  type = NoneEnum)

Specifies flow control type

Parameters
[in]typeflow control type
Returns
reference to this object
Exceptions
OmmOutOfRangeExceptionif passed in flow control type is not valid