Enhancement #356
Change Protocol Buffer field UserInfo.key to "bytes" Type
Status: | Closed | Start date: | 06/09/2011 | |
---|---|---|---|---|
Priority: | High | Due 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
Changed fields of UserInfo to bytes in RSBProtocol/Protocol.proto
refs #356
refs #356
- RSBProtocol/Protocol.proto: changed type of UserInfo.key string ->
bytes; changed type of UserInfo.value string -> bytes
Adapted for user-info fields src/transport/spread/conversion.lisp
refs #356
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
Initial attempt to adapt Python impl to changed protocol
refs #421, #356
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
Initial attempt to adapt Java implementation to changed protocol
refs #356, #421
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