Running the very core of SKL network, SKALE BFT consensus is universal, modern, modular, high-performance, asynchronous, provably-secure, agent-based Proof-of-Stake blockchain consensus engine in C++ 17. Includes provably secure embedded Oracle. Used by SKALE elastic blockchains. Easy and flexible enough to implement your own blockchain or smart contract platform. BLS signatures and Binary Asynchronous Consensus are main building blocks.
SgxZmqClient::doZmqRequestReply is called from different threads, but according to ZMQ manual, it should not be. this can lead to unpredictable consequences.
Don’t share ZeroMQ sockets between threads. ZeroMQ sockets are not threadsafe. Technically it’s possible to migrate a socket from one thread to another but it demands skill. The only place where it’s remotely sane to share sockets between threads are in language bindings that need to do magic like garbage collection on sockets.
SgxZmqClient::doZmqRequestReply
is called from different threads, but according to ZMQ manual, it should not be. this can lead to unpredictable consequences.(https://zguide.zeromq.org/docs/chapter2/#Multithreading-with-ZeroMQ)