/usr/include/zmqpp/frame.hpp is in libzmqpp-dev 4.1.2-0ubuntu2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | /*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file is part of zmqpp.
* Copyright (c) 2011-2015 Contributors as noted in the AUTHORS file.
*/
/**
* \file
*
* \date 8 Jan 2014
* \author Ben Gray (\@benjamg)
*/
#ifndef ZMQPP_MESSAGE_FRAME_HPP_
#define ZMQPP_MESSAGE_FRAME_HPP_
#include <zmq.h>
#include "compatibility.hpp"
namespace zmqpp {
/*!
* \brief an internal frame wrapper for a single zmq message
*
* This frame wrapper consists of a zmq message and meta data it is used
* by the zmqpp message class to keep track of parts in the internal
* queue. It is unlikely you need to use this class.
*/
class frame
{
public:
frame();
frame(size_t const size);
frame(void const* part, size_t const size);
frame(void* part, size_t const size, zmq_free_fn *ffn, void *hint);
~frame();
bool is_sent() const { return _sent; }
void const* data() const { return zmq_msg_data( const_cast<zmq_msg_t*>(&_msg) ); }
size_t size() const { return zmq_msg_size( const_cast<zmq_msg_t*>(&_msg) ); }
void mark_sent() { _sent = true; }
zmq_msg_t& msg() { return _msg; }
// Move operators
frame(frame&& other);
frame& operator=(frame&& other);
frame copy() const;
private:
bool _sent;
zmq_msg_t _msg;
// Disable implicit copy support, code must request a copy to clone
frame(frame const&) NOEXCEPT ZMQPP_EXPLICITLY_DELETED;
frame& operator=(frame const&) NOEXCEPT ZMQPP_EXPLICITLY_DELETED;
};
} // namespace zmqpp
#endif /* ZMQPP_MESSAGE_FRAME_HPP_ */
|