You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@celix.apache.org by "Roy Lenferink (JIRA)" <ji...@apache.org> on 2019/06/28 16:31:00 UTC

[jira] [Closed] (CELIX-460) msg not found in pub/sub serializer map due to signed/unsigned difference

     [ https://issues.apache.org/jira/browse/CELIX-460?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Roy Lenferink closed CELIX-460.
-------------------------------

Fixed in https://github.com/apache/celix/commit/855c5e4e7232e86544d43a05d6c9de5de9dc37b4

> 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)