This is the Rust version of https://gitlab.in2p3.fr/CTA-LAPP/PHOENIX_LIBS2/network/PhoenixSocket project. This project aims to ease the use of socket in complex environments, especially distributed environments where latencies measurement has to be precise and reproductible when running unit tests. **PhoenixSocket** provide **PGenericSocket**, a template classe which takes two arguments : - The main socket backend (could be **zmq**, **unix socket**, etc) - A mock backend, **PMockBackend**, which can play, register and replay a sequence of socket calls These sockets are activated with a mode `PSocketMode::PSocketMode` which can be : - `PSocketMode::NO_MOCK` : for a normal usage - `PSocketMode::MOCK` : when the mock the desired socket is played - `PSocketMode::MOCK_RECORD` : when the real socket backend is used but the socket mock is recording (could be usefull for debugging or to desing new unit tests quickly)
This is the mock extension of `rusty_phoenix_socket` the Rust version of https://gitlab.in2p3.fr/CTA-LAPP/PHOENIX_LIBS2/network/PhoenixSocket project. This project aims to ease the use of socket in complex environments, especially distributed environments where latencies measurement has to be precise and reproductible when running unit tests. **rustyphoenixsocketmock** provides : - A mock backend, **PMockBackend**, which can play, register and replay a sequence of socket calls (send/recv)