class documentation

class OutgoingValve:

Constructor: OutgoingValve(proto)

Implements interfaces: twisted.internet.interfaces.IPushProducer

View In Hierarchy

Allows the Autobahn transport to pause outgoing messages from rosbridge.

The purpose of this valve is to connect backpressure from the WebSocket client back to the rosbridge protocol, which depends on backpressure for queueing. Without this flow control, rosbridge will happily keep writing messages to the WebSocket until the system runs out of memory.

This valve is closed and opened automatically by the Twisted TCP server. In practice, Twisted should only close the valve when its userspace write buffer is full and it should only open the valve when that buffer is empty.

When the valve is closed, the rosbridge protocol instance's outgoing writes must block until the valve is opened.

Method __init__ Undocumented
Method pauseProducing Undocumented
Method relay Undocumented
Method resumeProducing Undocumented
Method stopProducing Undocumented
Instance Variable _finished Undocumented
Instance Variable _proto Undocumented
Instance Variable _valve Undocumented
def __init__(self, proto):

Undocumented

def pauseProducing(self):

Undocumented

@log_exceptions
def relay(self, message, compression='none'):

Undocumented

def resumeProducing(self):

Undocumented

def stopProducing(self):

Undocumented

_finished: bool =

Undocumented

_proto =

Undocumented

_valve =

Undocumented