Feature #1828

Feature #44: Implement basic introspection support

Initial support for participant hierarchies

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

Status:ResolvedStart date:04/01/2014
Priority:NormalDue date:
Assignee:J. Moringen% Done:


Target version:rsb-0.11

Associated revisions

Revision d4b7009a
Added by J. Moringen almost 7 years ago

Support hierarchies of participants in rsb/**/*.py

fixes #1828

A parent participant can now be specified when a new participant is
created. The request-reply module specifies:
  • {Local,Remote}Server instance as parents of {Local,Remote}Method
  • {Local,Remote}Method instances as parents of their Listener and
    Informer instances
  • rsb/__init__.py (createParticipant): accept parent keyword parameter;
    pass to participantCreationHook
    (createListener): accept parent keyword parameter; pass to
    createParticipant; extended documentation string
    (createInformer): likewise
    (createLocalServer): likewise
    (createRemoteServer): likewise
    (createServer): similar
  • rsb/patterns/__init__.py (LocalMethod.makeListener): pass self as
    parent to createListener
    (LocalMethod.makeInformer): similar
    (LocalServer.addMethod): similar
    (RemoteMethod.makeListener): similar
    (RemoteMethod.makeInformer): similar
    (RemoteServer.__getattr__): similar
  • rsb/introspection/__init__.py (ParticipantInfo.__init__): added
    parentId attribute
    (ParticipantInfo.getParentId): new method; accessor for parentId
    (ParticipantInfo.parentId): new property; parentId
    (IntrospectionSender.addParticipant): accept optional parent
    parameter; if supplied, store parent id in ParticipantInfo
    (handleParticipantCreation): accept optional parent parameter; pass to
  • test/coretest.py (HookTest.setUp): record parent participant for
    following check
    (HookTest.testInformer): check parent participant
    (HookTest.testListener): likewise
    (HookTest.testLocalServer): likewise
    (HookTest.testRemoteServer): likewise
  • test/introspectiontest.py
    (ParticipantInfoTest.testConstructionWithoutParentId): renamed
    testConstruction{ -> WithoutParentId}
    (ParticipantInfoTest.testConstructionWithParentId): new method; test
    constructing ParticipantInfo objects with parentId


#1 Updated by J. Moringen almost 7 years ago

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

Also available in: Atom PDF