mnode_nng: add receive_message_retry()
This commit is contained in:
parent
92ec0eaf05
commit
7d414c8e56
1 changed files with 12 additions and 0 deletions
|
@ -334,6 +334,18 @@ inline unique_msg clone_message(const nng_msg *msg)
|
|||
|
||||
inline unique_msg clone_message(const unique_msg &msg) { return clone_message(msg.get()); }
|
||||
|
||||
inline std::pair<unique_msg, int> receive_message_retry(nng_socket sock, int flags,
|
||||
retry_predicate rp)
|
||||
{
|
||||
while (true)
|
||||
{
|
||||
if (auto ret = receive_message(sock, flags); !ret.second || !rp(ret.second))
|
||||
{
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace mesytec::mnode::nng
|
||||
|
||||
#endif /* B18E3651_CA9A_43BC_AA25_810EA16533CD */
|
||||
|
|
Loading…
Reference in a new issue