Tasks #565

Let RPC mechanism use cause vector

Added by J. Wienke over 12 years ago. Updated over 12 years ago.

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

100%

Category:Protocol
Target version:0.5

Description

Now that there is a formal way to reference what caused on event, let the RPC reply event reference their request events.

Has to be implemented in
  • C++ ✓
  • Java ✓
  • Python ✓
  • Common Lisp ✓
  • Logger ✓

Related issues

Blocked by Robotics Service Bus - Enhancement #498: Integrate causal vector for events Closed 09/08/2011

Associated revisions

Revision 2c220b22
Added by J. Moringen over 12 years ago

Use cause vectors in src/patterns/{local,remote}-server.lisp
refs #565
  • src/patterns/local-server.lisp (call t local-method event): use
    `event-id/opaque' to obtain a cause event id; add it to the reply
    event
  • src/patterns/remote-server.lisp
    (setf %method-listener :after t remote-method): use
    `event-id/opaque' and cause mechanism instead of `event-id' and
    meta-data mechanism to indicate associated request
    (call t remote-method event): extract the first cause instead of a
    meta-data item from the reply event; use `%event-id->key' to convert
    event id to suitable keys
    (%event-id->key): new function; helper function for converting event
    ids to keys suitable for hash-table lookup

Revision 01539c5e
Added by J. Moringen over 12 years ago

Use cause vectors in src/rsb/patterns/{AbstractRemote,Local}Method.java
refs #565
  • src/rsb/patterns/AbstractRemoteMethod.java: manage in-progress call
    using the event ids of the request events and the causes of the
    reply events
  • src/rsb/patterns/LocalMethod.java: when creating replies, use the id
    of the request event as cause

Revision 90998250
Added by J. Moringen over 12 years ago

Use cause vectors in src/rsb/patterns/[Remote]Server.cpp
refs #565
  • src/rsb/patterns/RemoteServer.cpp: manage in-progress calls using
    event ids of request events and cause event ids of reply events
  • src/rsb/patterns/Server.cpp: use event ids of request events as
    cause in reply events

Revision 5eab59af
Added by J. Moringen over 12 years ago

Use cause vectors for RPC communication in rsb/patterns/__init__.py
refs #565
  • rsb/patterns/__init__.py: in RemoteMethod, use event ids of request
    events and cause event ids of reply events to track in-progress
    method calls; in LocalMethod, add event ids of request events as
    causes of reply events

Revision b22adbcb
Added by J. Moringen over 12 years ago

Adapted call-id column in formatting/columns.lisp
fixes #565
  • formatting/columns.lisp (define-simple-column :call-id): print uuid
    derived from first cause event id

History

#1 Updated by J. Wienke over 12 years ago

  • Subject changed from Let RPC mechanism use caus vector to Let RPC mechanism use cause vector

#2 Updated by J. Wienke over 12 years ago

  • Target version changed from rsb-0.10 to 0.5

#3 Updated by J. Wienke over 12 years ago

Jan, for this to work we should think of a CauseFilter?

#4 Updated by J. Wienke over 12 years ago

CauseFilter is not useful here, because the filter criterion changes over time.

#5 Updated by J. Moringen over 12 years ago

  • Category set to Protocol
  • Status changed from New to In Progress

#6 Updated by J. Moringen over 12 years ago

  • Description updated (diff)

#7 Updated by J. Moringen over 12 years ago

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

Applied in changeset r2929.

#8 Updated by J. Moringen over 12 years ago

  • Description updated (diff)

Also available in: Atom PDF