Feature #712

Implement socket-based transport

Added by J. Moringen over 12 years ago. Updated almost 12 years ago.

Status:ResolvedStart date:11/10/2011
Priority:HighDue date:
Assignee:J. Moringen% Done:

100%

Category:Python
Target version:rsb-0.7

Related issues

Related to Robotics Service Bus - Enhancement #545: Check if pure TCP Connector would improve performance for... Resolved 09/05/2011
Related to Robotics Service Bus - Feature #1012: Change default configuration to enable only socket transport Resolved 06/20/2012

Associated revisions

Revision f35ad19b
Added by J. Moringen over 12 years ago

Initial partial implementation of socket-based transport
refs #712
  • rsb/__init__.py: accept "socket" as transport name; look up
    corresponding connector class
  • rsb/eventprocessing.py: added class BroadcastProcessor
  • rsb/transport/socket/__init__.py: new file; contains initial
    implementation of socket-based transport

Revision 87b8a154
Added by J. Moringen almost 12 years ago

Partially usable socket transport
refs #712
  • rsb/transport/rsbspread/conversion.py: provide event <->
    notification conversion - without fragmentation - in separate
    functions
  • rsb/transport/socket/__init__.py: implemented event distribution in
    Bus; implemented __getBus in Connector; event <-> notification
    conversion in {InPush,Out}Connector
  • test/__init__.py: added socket transport tests
  • test/sockettransporttest.py: new file; contains unit test for socket
    transport

Revision 4649f085
Added by J. Moringen almost 12 years ago

Extended implementation in rsb/transport/socket/__init__.py
refs #712
  • rsb/transport/socket/__init__.py: added handshake; added some
    logging; perform state management via (de)activate methods;
    implemented notification routing in BusServer

Revision 5be1041a
Added by J. Moringen almost 12 years ago

Fixed connector class name in rsb/__init__.py
refs #712
  • rsb/__init__.py: in Participant.getConnector fixed connector class
    name rsb.transport.socket.{In -> InPush}Connector

Revision 2b1d6056
Added by J. Moringen almost 12 years ago

Fixed server construction in rsb/transport/socket/__init__.py
refs #712
  • rsb/transport/socket/__init__.py: store host, port and backlog
    parameters in slots; use in activate method

Revision ff3ebef7
Added by J. Moringen almost 12 years ago

Shutdown improvements in rsb/transport/socket/__init__.py
fixes #712
  • rsb/transport/socket/__init__.py: added error hook to BusConnection;
    fixed state management of BusConnection; fixed state management of
    Bus and BusServer; added removeConnector function to removed
    connectors from a bus after deactivation; implemented state
    management in Connector class

Revision d04e8bf4
Added by J. Moringen almost 12 years ago

Fixes and cleanup in rsb/transport/socket/__init__.py
refs #712
  • rsb/transport/socket/__init__.py: simplifications in
    BusConnection.{__del__,deactivate}; fixed routing of incoming events
    in Bus

Revision 10627d81
Added by J. Moringen almost 12 years ago

Fixed routing in Bus in rsb/transport/socket/__init__.py
refs #712
  • rsb/transport/socket/__init__.py: notifications should only be
    deliver to connectors whose scope are superscopes of the
    notifications' scopes

Revision 75fa3a3a
Added by J. Moringen almost 12 years ago

Fixed deadlock in rsb/transport/socket/__init__.py
refs #712
  • rsb/transport/socket/__init__.py: fix deadlock that would happen
    when a connection received a notification while the owning bus was
    being deactivated; added some comments; minor cleanup

History

#1 Updated by S. Wrede almost 12 years ago

  • Priority changed from Normal to High
  • Target version changed from rsb-1.0 to rsb-0.7

#2 Updated by J. Moringen almost 12 years ago

  • % Done changed from 30 to 60

#3 Updated by J. Moringen almost 12 years ago

  • % Done changed from 60 to 80

#4 Updated by J. Moringen almost 12 years ago

  • Status changed from In Progress to Resolved
  • % Done changed from 80 to 100

Applied in changeset r3648.

Also available in: Atom PDF