Hybrid ICN (hICN) plugin  v21.06-rc0-4-g18fa668
Public Attributes | List of all members
contentstore_interface Struct Reference
Collaboration diagram for contentstore_interface:
Collaboration graph
[legend]

Public Attributes

bool(* putContent )(ContentStoreInterface *storeImpl, Message *content, uint64_t currentTimeTicks)
 
bool(* removeContent )(ContentStoreInterface *storeImpl, Message *content)
 
Message *(* matchInterest )(ContentStoreInterface *storeImpl, Message *interest, uint64_t currentTimeTicks)
 
size_t(* getObjectCapacity )(ContentStoreInterface *storeImpl)
 
size_t(* getObjectCount )(ContentStoreInterface *storeImpl)
 
void(* log )(ContentStoreInterface *storeImpl)
 
ContentStoreInterface *(* acquire )(const ContentStoreInterface *storeImpl)
 
void(* release )(ContentStoreInterface **storeImpl)
 
void * _privateData
 

Member Data Documentation

◆ _privateData

void* contentstore_interface::_privateData

A pointer to opaque private data used by the ContentStore instance represented by this instance of ContentStoreInterface.

◆ acquire

ContentStoreInterface*(* contentstore_interface::acquire) (const ContentStoreInterface *storeImpl)

Acquire a new reference to the specified ContentStore instance. This reference will eventually need to be released by calling {}. storeImpl - a pointer to this ContentStoreInterface instance.

◆ getObjectCapacity

size_t(* contentstore_interface::getObjectCapacity) (ContentStoreInterface *storeImpl)

Return the maximum number of ContentObjects that can be stored in this ContentStore. This is a raw count, not based on memory size.

Parameters
storeImpl- a pointer to this ContentStoreInterface instance.
Returns
the maximum number of ContentObjects that can be stored

◆ getObjectCount

size_t(* contentstore_interface::getObjectCount) (ContentStoreInterface *storeImpl)

Return the number of ContentObjects currently stored in the ContentStore.

Parameters
storeImpl- a pointer to this ContentStoreInterface instance.
Returns
the current number of ContentObjects in the ContentStore

◆ log

void(* contentstore_interface::log) (ContentStoreInterface *storeImpl)

Log a ContentStore implementation specific version of store-related information.

Parameters
storeImpl- a pointer to this ContentStoreInterface instance.

◆ matchInterest

Message*(* contentstore_interface::matchInterest) (ContentStoreInterface *storeImpl, Message *interest, uint64_t currentTimeTicks)

Given a Message that represents and Interest, try to find a matching ContentObject.

Parameters
storeImpl- a pointer to this ContentStoreInterface instance.
interest- a pointer to a Message representing the Interest to match.
Returns
a pointer to a Message containing the matching ContentObject
NULL if no matching ContentObject was found

◆ putContent

bool(* contentstore_interface::putContent) (ContentStoreInterface *storeImpl, Message *content, uint64_t currentTimeTicks)

Place a Message representing a ContentObject into the ContentStore. If necessary to make room, remove expired content or content that has exceeded the Recommended Cache Time.

Parameters
storeImpl- a pointer to this ContentStoreInterface instance.
content- a pointer to a Message to place in the store.
currentTimeTicks- the current time, in hicn-light ticks, since the UTC epoch.

◆ release

void(* contentstore_interface::release) (ContentStoreInterface **storeImpl)

Release the ContentStore, which will also Release any references held by it.

Parameters
storeImpl- a pointer to this ContentStoreInterface instance.

◆ removeContent

bool(* contentstore_interface::removeContent) (ContentStoreInterface *storeImpl, Message *content)

The function to call to remove content from the ContentStore. It will Release any references that were created when the content was placed into the ContentStore.

Parameters
storeImpl- a pointer to this ContentStoreInterface instance.
content- a pointer to a Message to remove from the store.

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