WISP ERT (Server)  1.0.0
The WISP Extended Runtime (Server side)
wtp.transmission.SlidingWindowTxControl Class Reference

Sliding window-based transmit control class. More...

Inheritance diagram for wtp.transmission.SlidingWindowTxControl:

Public Member Functions

def __init__ (self, reactor, write_size, window_size, checksum_func, checksum_type, timeout, request_access_spec)
 Sliding windw-based transmit control constructor. More...
 
def add_msg (self, msg_data)
 Add a new message for sending. More...
 
def add_packet (self, packet_data)
 Add a new packet for sending. More...
 
def handle_ack (self, seq_num)
 Handle acknowledgement. More...
 
def get_write_data (self)
 Get Write/BlockWrite OpSpec data. More...
 

Public Attributes

 write_size
 Write OpSpec data size. More...
 
 window_size
 Sliding window size. More...
 
 timeout
 Sending data timeout. More...
 
 request_access_spec
 Request sending AccessSpec function. More...
 
 checksum_func
 Checksum function. More...
 
 checksum_type
 Checksum data type. More...
 

Private Member Functions

def _make_fragment (self, avail_size)
 Make new data fragment with given available size. More...
 
def _handle_packet_timeout (self, fragment, args)
 Handle data packet timeout. More...
 

Private Attributes

 _reactor
 Twisted reactor. More...
 
 _seq_num
 Sequence number. More...
 
 _packets
 Pending packets. More...
 
 _messages
 Pending messages. More...
 
 _msg_begin
 Begin sequence number of next message. More...
 
 _msg_fragmented
 Fragmented size of next message. More...
 
 _msg_ends
 Sequence numbers of message ends. More...
 
 _fragments
 Sending data fragments. More...
 

Detailed Description

Sliding window-based transmit control class.

Constructor & Destructor Documentation

◆ __init__()

def wtp.transmission.SlidingWindowTxControl.__init__ (   self,
  reactor,
  write_size,
  window_size,
  checksum_func,
  checksum_type,
  timeout,
  request_access_spec 
)

Sliding windw-based transmit control constructor.

Parameters
reactorTwisted reactor.
write_sizeMaximum BlockWrite size.
window_sizeSliding window size.
checksum_funcChecksum function.
checksum_typeChecksum data type.
timeoutFragment timeout.
request_access_specRequest AccessSpec function.

Member Function Documentation

◆ _handle_packet_timeout()

def wtp.transmission.SlidingWindowTxControl._handle_packet_timeout (   self,
  fragment,
  args 
)
private

Handle data packet timeout.

Parameters
fragmentTimeout data fragment.
argsOther arguments (Not used)

◆ _make_fragment()

def wtp.transmission.SlidingWindowTxControl._make_fragment (   self,
  avail_size 
)
private

Make new data fragment with given available size.

Parameters
avail_sizeSize of space available.
Returns
Transmit data fragment, or None if no fragment is available.

◆ add_msg()

def wtp.transmission.SlidingWindowTxControl.add_msg (   self,
  msg_data 
)

Add a new message for sending.

Parameters
msg_dataMessage data to send.

◆ add_packet()

def wtp.transmission.SlidingWindowTxControl.add_packet (   self,
  packet_data 
)

Add a new packet for sending.

Parameters
packet_dataPacket data to send.

◆ get_write_data()

def wtp.transmission.SlidingWindowTxControl.get_write_data (   self)

Get Write/BlockWrite OpSpec data.

Returns
Write/BlockWrite data.

◆ handle_ack()

def wtp.transmission.SlidingWindowTxControl.handle_ack (   self,
  seq_num 
)

Handle acknowledgement.

Parameters
seq_numAcknowledged sequence number.
Returns
Number of messages sent.

Member Data Documentation

◆ _fragments

wtp.transmission.SlidingWindowTxControl._fragments
private

Sending data fragments.

◆ _messages

wtp.transmission.SlidingWindowTxControl._messages
private

Pending messages.

◆ _msg_begin

wtp.transmission.SlidingWindowTxControl._msg_begin
private

Begin sequence number of next message.

◆ _msg_ends

wtp.transmission.SlidingWindowTxControl._msg_ends
private

Sequence numbers of message ends.

◆ _msg_fragmented

wtp.transmission.SlidingWindowTxControl._msg_fragmented
private

Fragmented size of next message.

◆ _packets

wtp.transmission.SlidingWindowTxControl._packets
private

Pending packets.

◆ _reactor

wtp.transmission.SlidingWindowTxControl._reactor
private

Twisted reactor.

◆ _seq_num

wtp.transmission.SlidingWindowTxControl._seq_num
private

Sequence number.

◆ checksum_func

wtp.transmission.SlidingWindowTxControl.checksum_func

Checksum function.

◆ checksum_type

wtp.transmission.SlidingWindowTxControl.checksum_type

Checksum data type.

◆ request_access_spec

wtp.transmission.SlidingWindowTxControl.request_access_spec

Request sending AccessSpec function.

◆ timeout

wtp.transmission.SlidingWindowTxControl.timeout

Sending data timeout.

◆ window_size

wtp.transmission.SlidingWindowTxControl.window_size

Sliding window size.

◆ write_size

wtp.transmission.SlidingWindowTxControl.write_size

Write OpSpec data size.


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