Tasks #335

Add Metadata Support to Events and Notifications

Added by J. Moringen almost 13 years ago. Updated almost 13 years ago.

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

100%

Category:Common Lisp
Target version:0.3

Description

Specification (subject to change) is at Events.

Associated revisions

Revision 68c6ed11
Added by J. Moringen almost 13 years ago

Added meta-data protocol buffer descriptor in data/MetaData.proto
refs #335
  • data/MetaData.proto: new file; protocol buffer descriptor for
    meta-data
  • data/Notification.proto: import MetaData.proto; added field
    meta_data
  • cl-rsb.asd (cl-rsb-and-cl-protobuf): added protocol buffer
    descriptor file data/MetaData.proto

Revision 9bf7b24d
Added by J. Moringen almost 13 years ago

Added define-plist-data-mixin macro in src/util.lisp
refs #335
  • src/util.lisp (plist-meta-data-mixin): removed; replaced by
    `define-plist-data-mixin'
    (meta-data-count plist-meta-data-mixin): likewise
    (meta-data-keys plist-meta-data-mixin): likewise
    (meta-data-values plist-meta-data-mixin): likewise
    (meta-data-plist plist-meta-data-mixin): likewise
    (meta-data-alist plist-meta-data-mixin): likewise
    (meta-data plist-meta-data-mixin t): likewise
    (setf meta-data t plist-meta-data-mixin t): likewise
    (define-plist-data-mixin): new macro; define a mixin class that adds
    a plist of items and corresponding accessors
  • src/protocol.lisp (meta-data-count):
    removed; replaced by `define-plist-data-mixin'
    (meta-data-keys): likewise
    (meta-data-values): likewise
    (meta-data-plist): likewise
    (meta-data-alist): likewise
    (meta-data): likewise
    (setf meta-data): likewise
  • src/event.lisp (define-plist-data-mixin meta-data): new; define
    mixin class for plist-stored meta-data
    (define-plist-data-mixin timestamp): new; define mixin class for
    plist-stored timestamps
    (event): added superclass `plist-timestamp-mixin'
    (event::timestamp): specify accessor for timestamp slot
  • src/package.lisp (package rsb): added exported symbols
    meta-data-count, timestamp, timestamp-count, timestamp-keys,
    timestamp-values, timestamp-plist, timestamp-alist and
    event-timestamps

Revision 38cef871
Added by J. Moringen almost 13 years ago

Added origin slot to event class in src/event.lisp
refs #335
  • src/event.lisp (event): updated documentation string
    (event::origin): new slot; stores the id of the participant from
    which the event originated
    (event=): added keyword parameter compare-origins?
  • src/informer.lisp (send informer event): set event's origin to the
    id of the sending informer instance
  • src/package.lisp (package rsb): added exported symbol event-origin
  • src/transport/spread/conversion.lisp (one-notification->event):
    retrieve origin of the event from the meta-data part of the
    notification
    (event->notifications): pass origin of the event to
    `make-notification'
    (make-notification): added origin parameter; create a meta-data
    instance containing the origin id and add it to the notification

Revision c00eaac4
Added by J. Moringen almost 13 years ago

Added timestamp support in src/event.lisp, .../spread/conversion.lisp
refs #335
  • src/event.lisp (event): updated documentation string
    (shared-initialize :before event t): changed initialize-instance ->
    shared-initialize
    (shared-initialize :after event t): set :create timestamp to current
    time unless otherwise instructed
    (event=): added parameter compare-timestamps; compare the timestamps
    specified via the parameter
  • src/transport/spread/conversion.lisp (one-notification->event):
    request the event instance to be created without timestamp; set
    :create, :send and :receive timestamps afterwards
    (event->notifications): pass timestamps of the event to
    `make-notification'
    (make-notification): added timestamps parameter; store the
    timestamps in the meta-data part of the notification
    (timestamp->unix-microseconds): new function; helper function to
    convert timestamp instance to a single uint64
    (unix-microseconds->timestamp): new function; opposite direction
  • cl-rsb.asd (system cl-rsb): added dependency on system local-time

Revision 7d00b771
Added by J. Moringen almost 13 years ago

Fixed conversion bugs in src/transport/spread/conversion.lisp
refs #335
  • src/transport/spread/conversion.lisp (one-notification->event): be
    prepared for meta-data or parts of it being absent from the
    notification
    (event->notifications): pass timestamps to `make-notification' for
    multi-fragment notifications

Revision 981f9750
Added by J. Moringen almost 13 years ago

Another fix in src/transport/spread/conversion.lisp
refs #335
  • src/transport/spread/conversion.lisp (one-notification->event):
    fixed test for sender-id presence zerop -> emptyp

Revision a94ba075
Added by J. Moringen almost 13 years ago

Support "userTimes" in src/transport/spread/conversion.lisp
fixes #335
  • src/transport/spread/conversion.lisp (one-notification->event):
    extract user-time records and store as timestamps
    (make-notification): use string names of meta data item keys

History

#1 Updated by J. Moringen almost 13 years ago

  • Subject changed from Add Metadata Support to Event Notifications to Add Metadata Support to Events and Notifications

#2 Updated by J. Moringen almost 13 years ago

  • Status changed from New to In Progress
  • % Done changed from 0 to 20

#3 Updated by J. Moringen almost 13 years ago

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

Applied in changeset r1313.

Also available in: Atom PDF