Erjan Altena created CELIX-460:
----------------------------------
Summary: msg not found in pub/sub serializer map due to
signed/unsigned difference
Key: CELIX-460
URL: https://issues.apache.org/jira/browse/CELIX-460
Project: Celix
Issue Type: Bug
Components: PubSubAdmin
Affects Versions: next
Reporter: Erjan Altena
The pub sub serializer interface has defined the msg Id as an unsigned int. The
Header message of ZMQ defines it as a signed int.
The ID is casted to a 64 bit pointer to be used as a key in the msg map. When a
msg is received the id in the header (which is signed) is alsoc casted to a 64
bit pointer
If the MSB of an unsigned type is set and it is promoted to a bigger type, it
will be prefixed with zeros, a signed type will be prefixed with ones. This
gives a difference in the key in the map and serialization information can not
be found on reception side.
ZMQ should use unsigned types as a key.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)