The content hash table is keyed by the initial portion of the ContentObject that contains all the parts of the complete name. More...
Data Fields | |
ccn_accession_t | accession |
assigned in arrival order | |
unsigned short * | comps |
Name Component byte boundary offsets. | |
int | ncomps |
Number of name components plus one. | |
int | flags |
see below | |
const unsigned char * | key |
ccnb-encoded ContentObject | |
int | key_size |
Size of fragment prior to Content. | |
int | size |
Size of ContentObject. | |
struct ccn_indexbuf * | skiplinks |
skiplist for name-ordered ops | |
ccnr_accession | accession |
permanent repository id | |
ccnr_cookie | cookie |
for in-memory references | |
struct ccn_charbuf * | flatname |
for skiplist, et. | |
struct ccn_charbuf * | cob |
may contain ContentObject, or be NULL |
The content hash table is keyed by the initial portion of the ContentObject that contains all the parts of the complete name.
The extdata of the hash table holds the rest of the object, so that the whole ContentObject is stored contiguously. The internal form differs from the on-wire form in that the final content-digest name component is represented explicitly, which simplifies the matching logic. The original ContentObject may be reconstructed simply by excising this last name component, which is easily located via the comps array.
Definition at line 261 of file ccnd_private.h.
permanent repository id
Definition at line 71 of file ccnr_store.c.
assigned in arrival order
Definition at line 262 of file ccnd_private.h.
Referenced by content_from_accession(), content_skiplist_insert(), enroll_content(), face_send_queue_insert(), finalize_content(), mark_stale(), process_incoming_content(), process_incoming_interest(), r_store_content_accession(), r_store_content_base(), r_store_content_btree_insert(), r_store_content_from_accession(), r_store_content_read(), r_store_content_trim(), r_store_enroll_content(), r_store_forget_content(), r_store_look(), r_store_lookup(), r_store_send_content(), r_store_set_accession_from_offset(), and set_content_timer().
struct ccn_charbuf* content_entry::cob |
may contain ContentObject, or be NULL
Definition at line 76 of file ccnr_store.c.
Referenced by process_incoming_content(), r_store_content_base(), r_store_content_from_accession(), r_store_content_read(), r_store_content_trim(), r_store_forget_content(), r_store_look(), and r_store_set_accession_from_offset().
unsigned short* content_entry::comps |
Name Component byte boundary offsets.
Definition at line 263 of file ccnd_private.h.
Referenced by content_matches_interest_prefix(), content_skiplist_findbefore(), content_skiplist_insert(), content_skiplist_remove(), finalize_content(), match_interests(), next_child_at_level(), process_incoming_content(), and send_content().
for in-memory references
Definition at line 72 of file ccnr_store.c.
Referenced by r_store_content_base(), r_store_content_cookie(), r_store_content_from_accession(), r_store_content_from_cookie(), r_store_enroll_content(), r_store_forget_content(), r_store_lookup(), r_store_mark_stale(), and r_store_set_content_timer().
see below
see below - use accessor functions
Definition at line 265 of file ccnd_private.h.
Referenced by clean_deamon(), face_send_queue_insert(), mark_stale(), process_incoming_content(), process_incoming_interest(), r_store_content_change_flags(), r_store_content_flags(), r_store_enroll_content(), r_store_forget_content(), r_store_mark_stale(), r_store_set_accession_from_offset(), and remove_content().
struct ccn_charbuf* content_entry::flatname |
for skiplist, et.
al.
Definition at line 75 of file ccnr_store.c.
Referenced by ccnr_debug_content(), r_store_content_btree_insert(), r_store_content_flatname(), r_store_content_matches_interest_prefix(), r_store_content_next(), r_store_forget_content(), r_store_look(), r_store_lookup(), r_store_lookup_ccnb(), r_store_name_append_components(), r_store_next_child_at_level(), r_store_set_accession_from_offset(), and r_store_set_flatname().
const unsigned char* content_entry::key |
ccnb-encoded ContentObject
Definition at line 266 of file ccnd_private.h.
Referenced by consume_matching_interests(), content_matches_interest_prefix(), content_skiplist_findbefore(), content_skiplist_insert(), content_skiplist_remove(), face_send_queue_insert(), mark_stale(), match_interests(), next_child_at_level(), process_incoming_content(), process_incoming_interest(), remove_content(), send_content(), and set_content_timer().
Size of fragment prior to Content.
Definition at line 267 of file ccnd_private.h.
Referenced by process_incoming_content(), and remove_content().
Number of name components plus one.
Definition at line 264 of file ccnd_private.h.
Referenced by content_matches_interest_prefix(), content_skiplist_findbefore(), content_skiplist_insert(), content_skiplist_remove(), match_interests(), next_child_at_level(), process_incoming_content(), process_incoming_interest(), r_proto_answer_req(), and send_content().
Size of ContentObject.
size of ContentObject
Definition at line 268 of file ccnd_private.h.
Referenced by ccnr_debug_content(), consume_matching_interests(), content_sender(), face_send_queue_insert(), mark_stale(), next_child_at_level(), process_incoming_content(), process_incoming_interest(), process_input_buffer(), r_store_content_base(), r_store_content_field_access(), r_store_content_from_accession(), r_store_content_read(), r_store_content_size(), r_store_look(), r_store_send_content(), r_store_set_flatname(), r_sync_lookup(), remove_content(), and send_content().
struct ccn_indexbuf* content_entry::skiplinks |
skiplist for name-ordered ops
Definition at line 269 of file ccnd_private.h.
Referenced by content_skiplist_findbefore(), content_skiplist_insert(), content_skiplist_next(), and content_skiplist_remove().