Hybrid ICN (hICN) plugin  v21.06-rc0-4-g18fa668
Public Types | Public Member Functions | List of all members
transport::core::ContentObject Class Reference
Inheritance diagram for transport::core::ContentObject:
Inheritance graph
[legend]
Collaboration diagram for transport::core::ContentObject:
Collaboration graph
[legend]

Public Types

using Ptr = std::shared_ptr< ContentObject >
 
using HICNContentObject = hicn_header_t
 
- Public Types inherited from transport::core::Packet
using Ptr = std::shared_ptr< Packet >
 
using MemBufPtr = std::shared_ptr< utils::MemBuf >
 
using Format = hicn_format_t
 
- Public Types inherited from utils::MemBuf
enum  CreateOp { CREATE }
 
enum  WrapBufferOp { WRAP_BUFFER }
 
enum  TakeOwnershipOp { TAKE_OWNERSHIP }
 
enum  CopyBufferOp { COPY_BUFFER }
 
using Ptr = std::shared_ptr< MemBuf >
 
typedef void(* FreeFunction) (void *buf, void *userData)
 

Public Member Functions

 ContentObject (Packet::Format format=HF_INET6_TCP, std::size_t additional_header_size=0)
 
 ContentObject (const Name &name, Packet::Format format=HF_INET6_TCP, std::size_t additional_header_size=0)
 
 ContentObject (const Name &name, hicn_format_t format, std::size_t additional_header_size, const uint8_t *payload, std::size_t payload_size)
 
template<typename... Args>
 ContentObject (CopyBufferOp op, Args &&... args)
 
template<typename... Args>
 ContentObject (WrapBufferOp op, Args &&... args)
 
template<typename... Args>
 ContentObject (CreateOp op, Args &&... args)
 
 ContentObject (const ContentObject &content_object)
 
ContentObjectoperator= (const ContentObject &other)
 
 ContentObject (ContentObject &&content_object)
 
const NamegetName () const override
 
NamegetWritableName () override
 
void setName (const Name &name) override
 
uint32_t getPathLabel () const
 
ContentObjectsetPathLabel (uint32_t path_label)
 
void setLocator (const ip_address_t &ip_address) override
 
ip_address_t getLocator () const override
 
void setLifetime (uint32_t lifetime) override
 
uint32_t getLifetime () const override
 
auto shared_from_this ()
 
- Public Member Functions inherited from transport::core::Packet
 Packet (Format format=HF_INET6_TCP, std::size_t additional_header_size=0)
 
 Packet (CopyBufferOp, const uint8_t *buffer, std::size_t size)
 
 Packet (WrapBufferOp, uint8_t *buffer, std::size_t length, std::size_t size)
 
 Packet (CreateOp, uint8_t *buffer, std::size_t length, std::size_t size, Format format=HF_INET6_TCP, std::size_t additional_header_size=0)
 
 Packet (MemBuf &&buffer)
 
 Packet (Packet &&other)
 
 Packet (const Packet &other)
 
Packetoperator= (const Packet &other)
 
bool isInterest ()
 
void reset ()
 
void setFormat (Packet::Format format=HF_INET6_TCP, std::size_t additional_header_size=0)
 
std::size_t payloadSize () const
 
std::size_t headerSize () const
 
std::shared_ptr< utils::MemBufacquireMemBufReference ()
 
PacketappendPayload (const uint8_t *buffer, std::size_t length)
 
PacketappendPayload (std::unique_ptr< utils::MemBuf > &&payload)
 
std::unique_ptr< utils::MemBufgetPayload () const
 
PacketupdateLength (std::size_t length=0)
 
PayloadType getPayloadType () const
 
PacketsetPayloadType (PayloadType payload_type)
 
Format getFormat () const
 
void dump () const
 
void setSignatureTimestamp (const uint64_t &timestamp_milliseconds)
 Set signature timestamp, in milliseconds.
 
uint64_t getSignatureTimestamp () const
 
void setValidationAlgorithm (const auth::CryptoSuite &validation_algorithm)
 
auth::CryptoSuite getValidationAlgorithm () const
 
void setKeyId (const auth::KeyId &key_id)
 
auth::KeyId getKeyId () const
 
virtual auth::CryptoHash computeDigest (auth::CryptoHashType algorithm) const
 
void setChecksum ()
 
bool checkIntegrity () const
 
PacketsetSyn ()
 
PacketresetSyn ()
 
bool testSyn () const
 
PacketsetAck ()
 
PacketresetAck ()
 
bool testAck () const
 
PacketsetRst ()
 
PacketresetRst ()
 
bool testRst () const
 
PacketsetFin ()
 
PacketresetFin ()
 
bool testFin () const
 
PacketresetFlags ()
 
std::string printFlags () const
 
PacketsetSrcPort (uint16_t srcPort)
 
PacketsetDstPort (uint16_t dstPort)
 
uint16_t getSrcPort () const
 
uint16_t getDstPort () const
 
PacketsetTTL (uint8_t hops)
 
uint8_t getTTL () const
 
- Public Member Functions inherited from utils::MemBuf
 MemBuf (CreateOp, std::size_t capacity)
 
 MemBuf (TakeOwnershipOp op, void *buf, std::size_t capacity, FreeFunction freeFn=nullptr, void *userData=nullptr, bool freeOnError=true)
 
 MemBuf (TakeOwnershipOp, void *buf, std::size_t capacity, std::size_t length, FreeFunction freeFn=nullptr, void *userData=nullptr, bool freeOnError=true)
 
 MemBuf (WrapBufferOp op, const void *buf, std::size_t length, std::size_t capacity) noexcept
 
 MemBuf (CopyBufferOp op, const void *buf, std::size_t size, std::size_t headroom=0, std::size_t minTailroom=0)
 
bool empty () const
 
const uint8_t * data () const
 
uint8_t * writableData ()
 
const uint8_t * tail () const
 
uint8_t * writableTail ()
 
std::size_t length () const
 
void setLength (std::size_t length)
 
std::size_t headroom () const
 
std::size_t tailroom () const
 
const uint8_t * buffer () const
 
uint8_t * writableBuffer ()
 
const uint8_t * bufferEnd () const
 
std::size_t capacity () const
 
MemBufnext ()
 
const MemBufnext () const
 
MemBufprev ()
 
const MemBufprev () const
 
void advance (std::size_t amount)
 
void retreat (std::size_t amount)
 
void prepend (std::size_t amount)
 
void append (std::size_t amount)
 
void trimStart (std::size_t amount)
 
void trimEnd (std::size_t amount)
 
void clear ()
 
void reserve (std::size_t minHeadroom, std::size_t minTailroom)
 
bool isChained () const
 
size_t countChainElements () const
 
std::size_t computeChainDataLength () const
 
void prependChain (std::unique_ptr< MemBuf > &&iobuf)
 
void appendChain (std::unique_ptr< MemBuf > &&iobuf)
 
std::unique_ptr< MemBufunlink ()
 
std::unique_ptr< MemBufpop ()
 
std::unique_ptr< MemBufseparateChain (MemBuf *head, MemBuf *tail)
 
bool isShared () const
 
bool isManaged () const
 
bool isManagedOne () const
 
bool isSharedOne () const
 
void unshare ()
 
void unshareOne ()
 
void markExternallyShared ()
 
void markExternallySharedOne ()
 
void makeManaged ()
 
void makeManagedOne ()
 
void gather (std::size_t maxLength)
 
std::unique_ptr< MemBufclone () const
 
MemBuf cloneAsValue () const
 
std::unique_ptr< MemBufcloneOne () const
 
MemBuf cloneOneAsValue () const
 
std::unique_ptr< MemBufcloneCoalesced () const
 
std::unique_ptr< MemBufcloneCoalescedWithHeadroomTailroom (std::size_t newHeadroom, std::size_t newTailroom) const
 
MemBuf cloneCoalescedAsValue () const
 
MemBuf cloneCoalescedAsValueWithHeadroomTailroom (std::size_t newHeadroom, std::size_t newTailroom) const
 
void cloneInto (MemBuf &other) const
 
void cloneOneInto (MemBuf &other) const
 
std::vector< struct iovecgetIov () const
 
void appendToIov (std::vector< struct iovec > *iov) const
 
size_t fillIov (struct iovec *iov, size_t len) const
 
bool ensureCapacity (std::size_t capacity)
 
bool ensureCapacityAndFillUnused (std::size_t capacity, uint8_t placeholder)
 
void * operator new (size_t size)
 
void * operator new (size_t size, void *ptr)
 
void operator delete (void *ptr)
 
void operator delete (void *ptr, void *placement)
 
bool operator== (const MemBuf &other)
 
bool operator!= (const MemBuf &other)
 
 MemBuf () noexcept
 
 MemBuf (MemBuf &&other) noexcept
 
MemBufoperator= (MemBuf &&other) noexcept
 
 MemBuf (const MemBuf &other)
 
MemBufoperator= (const MemBuf &other)
 

Additional Inherited Members

- Static Public Member Functions inherited from transport::core::Packet
static std::size_t getHeaderSizeFromFormat (Format format, std::size_t signature_size=0)
 
static std::size_t getHeaderSizeFromBuffer (Format format, const uint8_t *buffer)
 
static std::size_t getPayloadSizeFromBuffer (Format format, const uint8_t *buffer)
 
static bool isInterest (const uint8_t *buffer)
 
static Format getFormatFromBuffer (const uint8_t *buffer, std::size_t length)
 
static void dump (uint8_t *buffer, std::size_t length)
 
- Static Public Member Functions inherited from utils::MemBuf
static std::unique_ptr< MemBufcreate (std::size_t capacity)
 
static std::unique_ptr< MemBufcreateCombined (std::size_t capacity)
 
static std::unique_ptr< MemBufcreateSeparate (std::size_t capacity)
 
static std::unique_ptr< MemBufcreateChain (size_t totalCapacity, std::size_t maxBufCapacity)
 
static std::unique_ptr< MemBuftakeOwnership (void *buf, std::size_t capacity, FreeFunction freeFn=nullptr, void *userData=nullptr, bool freeOnError=true)
 
static std::unique_ptr< MemBuftakeOwnership (void *buf, std::size_t capacity, std::size_t length, FreeFunction freeFn=nullptr, void *userData=nullptr, bool freeOnError=true)
 
static std::unique_ptr< MemBufwrapBuffer (const void *buf, std::size_t length, std::size_t capacity)
 
static MemBuf wrapBufferAsValue (const void *buf, std::size_t length, std::size_t capacity) noexcept
 
static std::unique_ptr< MemBufcopyBuffer (const void *buf, std::size_t size, std::size_t headroom=0, std::size_t minTailroom=0)
 
static void destroy (std::unique_ptr< MemBuf > &&data)
 
static std::unique_ptr< MemBufwrapIov (const iovec *vec, size_t count)
 
static std::unique_ptr< MemBuftakeOwnershipIov (const iovec *vec, size_t count, FreeFunction freeFn=nullptr, void *userData=nullptr, bool freeOnError=true)
 
- Static Public Attributes inherited from transport::core::Packet
static constexpr size_t default_mtu = 1500
 
- Protected Attributes inherited from transport::core::Packet
hicn_header_tpacket_start_
 
std::size_t header_offset_
 
Format format_
 
Name name_
 
PayloadType payload_type_
 
- Static Protected Attributes inherited from transport::core::Packet
static const core::Name base_name
 

The documentation for this class was generated from the following file: