Enhancement #337

Simplify Notification Protocol Buffer Descriptors

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

Status:ResolvedStart date:05/29/2011
Priority:LowDue date:
Assignee:J. Wienke% Done:

100%

Category:Protocol
Target version:0.3

Description

Remove Attachment
  • move binary -> Notification
  • remove length, type_id
Remove MetaInfo
  • merge with MetaData
Change field semantic:
  • Notification.id: encode UUID as array of 16 bytes

Downgrade field types:

  • Notification.version: string -> bytes
  • Notification.id: string -> bytes
  • Notification.scope: string -> bytes
  • Notification.wire_schema: string -> bytes
  • Notification.method: string -> bytes

Decoding field values as UTF-8 when they never actually go beyond ASCII wastes performance needlessly.

Store all descriptors in a single file (Protocol.proto).


Subtasks

Tasks #339: Remove type_id from Attachment PB?ResolvedJ. Wienke

Associated revisions

Revision f78100ad
Added by J. Wienke almost 13 years ago

update protocol and meta data representation in C++ according to ticket

fixes #337 #339
refs #176

Revision a4e400b1
Added by J. Wienke almost 13 years ago

update protocol and meta data representation in C++ according to ticket

fixes #337 #339
refs #176

Revision b40af678
Added by J. Moringen almost 13 years ago

Adapted spread transport to changed protocol buffers
refs #337, #339
  • src/transport/spread/fragmentation.lisp (assembly::id): store id as
    octet-vector
    (assembly-concatenated-data): changed retrieval of payload according
    to changed protocol buffers
    (assembly-pool::assemblies): use `equalp' as hash-table test
    (ensure-assembly assembly-pool simple-array integer): changed
    specializer string -> simple-array
  • src/transport/spread/conversion.lisp (one-notification->event):
    removed attachment; retrieve id and scope as byte arrays; retrieve
    user-level meta-data from meta-data object
    (event-notifications): do not preprocess id and scope
    (make-notification): do not create attachment; store id and scope as
    byte arrays; store user-level meta-data in meta-data object
  • test/transport/spread/fragmentation.lisp: adapted creation of
    notifications to changed protocol buffers
  • cl-rsb.asd (system connection cl-rsb-and-cl-protobuf): changed
    protocol buffer descriptors files
    data/{Attachment,MetaData,Notification}.proto -> data/Protocol.proto

History

#1 Updated by J. Wienke almost 13 years ago

  • Status changed from New to In Progress

#2 Updated by J. Wienke almost 13 years ago

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

Applied in changeset r1318.

Also available in: Atom PDF