-
Notifications
You must be signed in to change notification settings - Fork 34
Open
Description
-
get rid of unused interfaces (no deprecation needed, since these are unused (at least not known to us)):
- get rid of
SetSendTimeout/GetSendTimeout/SetReceiveTimeout/GetReceiveTimeout(at least from the general interface). Values set by these FairMQSocket methods are currently used only inside each transport - they are transport details. The actual transfer timeouts are controlled by the user via transfer calls, e.g.:Receive(FairMQMessagePtr& msgVec, const int timeout = 0). It is up to the transport how to implement it these. A general timeout value currently has no meaning in the user-facing API. - get rid of
GetOption/SetOptionand replace with specific API, such as SetLinger/GetLinger. This is less error-prone and more type-safe. Currently these interfaces are only used internally in FairMQDevice for high watermark and kernel transfer size settings. - get rid of general
GetSocketinterface - it returns internal socket representation, which should not be visible from the interface API.
- get rid of
-
renameRemoveSendAsync/ReceiveAsyncto more clearTrySend/TryReceiveSendAsync/ReceiveAsync, insteadSend/Receivewith a timeout of0can be used (since these are used, this will require a deprecation warning iteration). This is already the case in the transport API, but not yet in Channel API. -
move
Bind/Connect/Attachimplementations from device class to channel class. -
introduce (experimental?) value-based move-only
fair::mq::Messagein parallel to existingFairMQMessage. As a consequence this will require new overloads for send/receive and serialization APIs.
Anything else?
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
featureNew feature or requestNew feature or request