[
https://issues.apache.org/jira/browse/CELIX-460?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Erjan Altena resolved CELIX-460.
--------------------------------
Resolution: Fixed
Changed msgid type to unsigned int as it is defined for the interface of the
serializer.
> 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
> Priority: Major
>
> 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)