/** A channel for exchanging messages between model-checker and model-checked
*
* This abstracts away the way the messages are transferred. Currently, they
- * are sent over a (connected) `SOCK_DGRAM` socket.
+ * are sent over a (connected) `SOCK_SEQPACKET` socket.
*/
class Channel {
int socket_ = -1;
}
public:
- Channel() {}
+ Channel() = default;
explicit Channel(int sock) : socket_(sock) {}
~Channel();
s_mc_message message = {type};
return this->send(&message, sizeof(message));
}
+ /** @brief Send a message; returns 0 on success or errno on failure */
template <class M> typename std::enable_if<messageType<M>(), int>::type send(M const& m) const
{
return this->send(&m, sizeof(M));