mirror of
https://github.com/zeromq/libzmq.git
synced 2024-12-13 10:52:56 +01:00
da31917f4f
Relicense permission collected from all relevant authors as tallied at: https://github.com/rlenferink/libzmq-relicense/blob/master/checklist.md The relicense grants are collected under RELICENSE/ and will be moved to the above repository in a later commit. Fixes https://github.com/zeromq/libzmq/issues/2376
29 lines
667 B
C++
29 lines
667 B
C++
|
|
/* SPDX-License-Identifier: MPL-2.0 */
|
|
|
|
#ifndef __ZMQ_YPIPE_BASE_HPP_INCLUDED__
|
|
#define __ZMQ_YPIPE_BASE_HPP_INCLUDED__
|
|
|
|
#include "macros.hpp"
|
|
|
|
namespace zmq
|
|
{
|
|
// ypipe_base abstracts ypipe and ypipe_conflate specific
|
|
// classes, one is selected according to a the conflate
|
|
// socket option
|
|
|
|
template <typename T> class ypipe_base_t
|
|
{
|
|
public:
|
|
virtual ~ypipe_base_t () ZMQ_DEFAULT;
|
|
virtual void write (const T &value_, bool incomplete_) = 0;
|
|
virtual bool unwrite (T *value_) = 0;
|
|
virtual bool flush () = 0;
|
|
virtual bool check_read () = 0;
|
|
virtual bool read (T *value_) = 0;
|
|
virtual bool probe (bool (*fn_) (const T &)) = 0;
|
|
};
|
|
}
|
|
|
|
#endif
|