Enhancement #356

Change Protocol Buffer field UserInfo.key to "bytes" Type

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

Status:ClosedStart date:06/09/2011
Priority:HighDue date:
Assignee:S. Wrede% Done:

100%

Category:Protocol
Target version:0.4

Description

Implementation
  • Change in Protocol.proto
  • C++ ✓ (nothing has to be changed)
  • Python ✓
  • Java ✓
  • Common Lisp ✓

Decision has been made here.

Associated revisions

Revision 71f49678
Added by J. Moringen almost 13 years ago

Changed fields of UserInfo to bytes in RSBProtocol/Protocol.proto
refs #356
  • RSBProtocol/Protocol.proto: changed type of UserInfo.key string ->
    bytes; changed type of UserInfo.value string -> bytes

Revision 73c7cbb4
Added by J. Moringen almost 13 years ago

Adapted for user-info fields src/transport/spread/conversion.lisp
refs #356
  • src/transport/spread/conversion.lisp (one-notification->event): use
    `bytes->keyword' for `user-info-key' and `bytes->string' for
    `user-info-value'
    (make-notification): use `keyword->bytes' for key and
    `string->bytes' for value

Revision 70c0c617
Added by J. Moringen almost 13 years ago

Initial attempt to adapt Python impl to changed protocol
refs #421, #356
  • rsb/__init__.py: added sequenceNumber and senderId to Event class;
    Event.id is now read-only and lazily computed from sequenceNumber
    and senderId; removed senderId from MetaData class; added
    sequenceNumber counter to Informer class
  • rsb/rsbspread/__init__.py: handle sequenceNumber and senderId
    according to above changes
  • test/coretest.py: test Event and MetaData classes according to above
    changes
  • test/eventprocessingtest.py: when creating Event instances for
    tests, supply sequence number and sender id
  • test/rsbspreadtest.py: likewise

Revision 018c8169
Added by J. Moringen over 12 years ago

Initial attempt to adapt Java implementation to changed protocol
refs #356, #421
  • src/rsb/Event.java: Event.id defaults to null and is computed
    lazily; the id should be computed as described in
    https://code.cor-lab.org/projects/rsb/wiki/Events, but I could not
    find an UUID v5 for Java; as best-effort compromise, the sender id
    is used for now
  • src/rsb/transport/spread/ReceiverTask.java: adapted deserialization
    to changed protocol
  • src/rsb/transport/spread/SpreadPort.java: likewise for serialization
  • test/rsb/EventTest.java: removed id-based assertions since the event
    id is no longer used in event comparison logic
  • test/rsb/converter/ProtocolBufferConverterTest.java: removed
    id-based assertions since the event id is a computed attribute now
  • test/rsb/filter/ScopeFilterTest.java: set sender id in Event objects
    to allow event id computation
  • test/rsb/transport/spread/SpreadPortRoundtripTest.java: set sequence
    number of events instead of id
  • test/rsb/transport/spread/SpreadPortTest.java: likewise

History

#1 Updated by J. Moringen almost 13 years ago

  • Status changed from New to In Progress
  • Assignee changed from J. Wienke to J. Moringen
  • Priority changed from Normal to High

#2 Updated by J. Moringen almost 13 years ago

  • Description updated (diff)
  • % Done changed from 0 to 30

#3 Updated by S. Wrede almost 13 years ago

  • Target version changed from rsb-0.10 to 0.4

#4 Updated by J. Moringen almost 13 years ago

  • Description updated (diff)
  • Assignee changed from J. Moringen to S. Wrede
  • % Done changed from 30 to 80

#5 Updated by J. Moringen over 12 years ago

  • Description updated (diff)
  • Status changed from In Progress to Closed
  • % Done changed from 80 to 100

Also available in: Atom PDF