Feature #727

Implement Connector Subsystem

Added by S. Wrede over 12 years ago. Updated about 12 years ago.

Status:ResolvedStart date:11/18/2011
Priority:NormalDue date:
Assignee:J. Moringen% Done:

100%

Category:Python
Target version:0.6

Description

Subtasks:

  • Split up Connectors into In/Out Connectors
  • Expose list of available connector classes (jwienke: I don't remember what this is about)
  • Add a dedicated method to specify the scope and remove ScopeFilter for this purpose

Related issues

Blocks Robotics Service Bus - Tasks #333: Implement Local Transport Resolved 05/26/2011
Blocks Robotics Service Bus - Tasks #920: Release version 0.6 Closed 03/02/2012 03/05/2012

Associated revisions

Revision c73de6eb
Added by J. Moringen over 12 years ago

Added direction-specific connector-subclasses
refs #727
  • rsb/__init__.py: instantiate connector with specific direction
    depending on the kind of participant
  • rsb/transport/__init__.py: added subclasses InConnector and
    OutConnector of Connector class
  • rsb/rsbspread/__init__.py: renamed SpreadConnector -> Connector;
    added subclasses InConnector and OutConnector of Connector class
  • test/rsbspreadtest.py: adapted tests to changed Spread connector
    classes

Revision 66106e9d
Added by J. Moringen over 12 years ago

Changed architecture to better match current model wrt. transports
refs #727
  • rsb/eventprocessing.py: replaced Router class with Configurator
    superclass and its subclasses InRouteConfigurator and
    OutRouteConfigurator; (de)activation restrictions are much more
    strict now
  • rsb/__init__.py: use Configurator instances instead of Router
    instances; pass lists of connectors instead of singleton connectors
    to Configurator instances
  • test/eventprocessingtest.py: adapted to changes in eventprocessing
    module
  • test/rsbspreadtest.py: likewise

Revision 3ae3d53c
Added by J. Moringen over 12 years ago

Separate class for converter selection in rsb/transport/__init__.py
refs #727
  • rsb/__init__.py: adapted to changes in connector stuff
  • rsb/transport/__init__.py: removed converter selection from
    Connector class; added new class ConverterSelectingConnnector
  • rsb/rsbspread/__init__.py: use ConverterSelectingConnector; use
    super more consistently; extended documentation strings
  • rsb/transport/socket/__init__.py: likewise
  • test/rsbspreadtest.py: adapted to changes

Revision 3d8ea4f5
Added by J. Moringen over 12 years ago

Added DirectEventSendingStrategy, renamed * -> handle
refs #727
  • rsb/__init__.py: changed call publish -> handle
  • rsb/eventprocessing.py: added {add,remove}Connector to
    EventSendingStrategy; added implementation
    DirectEventSendingStrategy; renamed publish -> handle in
    Configurator class
  • rsb/rsbspread/__init__.py: renamed push -> handle
  • rsb/transport/__init__.py: renamed publish -> handle
  • test/eventprocessingtest.py: adapted to renamed methods
  • test/rsbspreadtest.py: likewise

Revision 6ef47d53
Added by J. Wienke over 12 years ago

Remove filter logic for scope handling and use dedicated methods instead

refs #727

Revision 1538204e
Added by J. Wienke over 12 years ago

move spread module to transport package

refs #727

Revision f9d32a25
Added by J. Moringen about 12 years ago

Added connector introspection in rsb/transport/__init__.py
fixes #727
  • rsb/transport/__init__.py: added getConnectors() and addConnector()
  • rsb/transport/rsbspread/__init__.py: register InConnector and
    OutConnector classes via addConnector
  • rsb/transport/socket/__init__.py: similar

History

#1 Updated by J. Moringen over 12 years ago

  • Status changed from New to In Progress

#2 Updated by J. Moringen over 12 years ago

  • % Done changed from 0 to 50

#3 Updated by J. Wienke over 12 years ago

Jan, what is the state here? When this is done I could implement the local transport for python.

Btw, do you mean the general Connector interfacee, where in and out connectors inherit from or what is the question about?

#4 Updated by J. Moringen over 12 years ago

There has been some progress. I do not remember the current state exactly now, but some tasks do probably remain.

Regarding the TCP-based transport for Python: there is a partial implementation. I am not sure whether I committed it, though.

#5 Updated by J. Wienke over 12 years ago

Can you try to find out what is available locally in your copies and either I can take over that work or I will switch to something else.

#6 Updated by J. Moringen over 12 years ago

Actually, the partial implementation of the TCP-based transport is already committed (transport/socket/__init__.py).

As far as I can see, there is no code for the local transport so far.

#7 Updated by J. Wienke over 12 years ago

And the local transport?

Also, are there already separated in and out connectors?

#8 Updated by J. Wienke over 12 years ago

  • Description updated (diff)
  • Assignee changed from J. Moringen to J. Wienke

#9 Updated by J. Wienke over 12 years ago

  • Description updated (diff)
  • % Done changed from 50 to 70

#10 Updated by J. Wienke about 12 years ago

  • Assignee changed from J. Wienke to J. Moringen

#11 Updated by J. Moringen about 12 years ago

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

Applied in changeset r3398.

Also available in: Atom PDF