ccnd_handle Struct Reference

We pass this handle almost everywhere within ccnd. More...


Data Fields

unsigned char ccnd_id [32]
 sha256 digest of our public key
struct hashtb * faces_by_fd
 keyed by fd
struct hashtb * dgram_faces
 keyed by sockaddr
struct hashtb * content_tab
 keyed by portion of ContentObject
struct hashtb * nameprefix_tab
 keyed by name prefix components
struct hashtb * propagating_tab
 keyed by nonce
struct ccn_indexbufskiplinks
 skiplist for content-ordered ops
unsigned forward_to_gen
 for forward_to updates
unsigned face_gen
 faceid generation number
unsigned face_rover
 for faceid allocation
unsigned face_limit
 current number of face slots
struct face ** faces_by_faceid
 array with face_limit elements
struct ccn_scheduled_eventreaper
struct ccn_scheduled_eventage
struct ccn_scheduled_eventclean
struct ccn_scheduled_eventage_forwarding
const char * portstr
 "main" port number
unsigned ipv4_faceid
 wildcard IPv4, bound to port
unsigned ipv6_faceid
 wildcard IPv6, bound to port
nfds_t nfds
 number of entries in fds array
struct pollfd * fds
 used for poll system call
struct ccn_gettime ticktock
 our time generator
long sec
 cached gettime seconds
unsigned usec
 cached gettime microseconds
long starttime
 ccnd start time, in seconds
unsigned starttime_usec
 ccnd start time fractional part
struct ccn_schedule * sched
 our schedule
struct ccn_charbufscratch_charbuf
 one-slot scratch cache
struct ccn_indexbufscratch_indexbuf
 one-slot scratch cache
ccn_accession_t accession_base
 Next three fields are used for direct accession-to-content table.
unsigned content_by_accession_window
struct content_entry ** content_by_accession
struct hashtb * sparse_straggler_tab
 The following holds stragglers that would otherwise bloat the above.
ccn_accession_t accession
 newest used accession number
ccn_accession_t min_stale
 smallest accession of stale content
ccn_accession_t max_stale
 largest accession of stale content
unsigned long capacity
 may toss content if there more than this many content objects in the store
unsigned long n_stale
 Number of stale content objects.
struct ccn_indexbufunsol
 unsolicited content
unsigned long oldformatcontent
unsigned long oldformatcontentgrumble
unsigned long oldformatinterests
unsigned long oldformatinterestgrumble
unsigned long content_dups_recvd
unsigned long content_items_sent
unsigned long interests_accepted
unsigned long interests_dropped
unsigned long interests_sent
unsigned long interests_stuffed
unsigned short seed [3]
 for PRNG
int running
 true while should be running
int debug
 For controlling debug output.
ccnd_logger logger
 For debug output.
void * loggerdata
 Passed to logger.
int logbreak
 see ccn_msg()
unsigned long logtime
 see ccn_msg()
int logpid
 see ccn_msg()
int mtu
 Target size for stuffing interests.
int flood
 Internal control for auto-reg.
struct ccn_charbufautoreg
 URIs to auto-register.
int force_zero_freshness
 Simulate freshness=0 on all content.
unsigned interest_faceid
 for self_reg internal client
const char * progname
 our name, for locating helpers
struct ccn * internal_client
 internal client
struct faceface0
 special face for internal client
struct ccn_charbufservice_ccnb
 for local service discovery
struct ccn_charbufneighbor_ccnb
 for neighbor service discovery
struct ccn_seqwriter * notice
 for notices of status changes
struct ccn_indexbufchface
 faceids w/ recent status changes
struct ccn_scheduled_eventinternal_client_refresh
struct ccn_scheduled_eventnotice_push
unsigned data_pause_microsec
 tunable, see choose_face_delay()
void(* appnonce )(struct ccnd_handle *, struct face *, struct ccn_charbuf *)
 pluggable nonce generation


Detailed Description

We pass this handle almost everywhere within ccnd.

Definition at line 68 of file ccnd_private.h.


Field Documentation

unsigned char ccnd_handle::ccnd_id[32]

struct hashtb* ccnd_handle::faces_by_fd [read]

struct hashtb* ccnd_handle::dgram_faces [read]

struct hashtb* ccnd_handle::content_tab [read]

struct hashtb* ccnd_handle::nameprefix_tab [read]

struct hashtb* ccnd_handle::propagating_tab [read]

skiplist for content-ordered ops

Definition at line 75 of file ccnd_private.h.

Referenced by ccnd_create(), ccnd_destroy(), content_skiplist_findbefore(), and content_skiplist_insert().

faceid generation number

Definition at line 77 of file ccnd_private.h.

Referenced by ccnd_destroy(), enroll_face(), and finalize_face().

for faceid allocation

Definition at line 78 of file ccnd_private.h.

Referenced by enroll_face(), and finalize_face().

Definition at line 81 of file ccnd_private.h.

Referenced by reap(), and reap_needed().

Definition at line 82 of file ccnd_private.h.

Definition at line 83 of file ccnd_private.h.

Referenced by clean_deamon(), and clean_needed().

Definition at line 84 of file ccnd_private.h.

Referenced by age_forwarding(), and age_forwarding_needed().

const char* ccnd_handle::portstr

wildcard IPv4, bound to port

Definition at line 86 of file ccnd_private.h.

Referenced by ccnd_create(), ccnd_listen_on_address(), ccnd_listen_on_wildcards(), ccnd_req_newface(), and sending_fd().

wildcard IPv6, bound to port

Definition at line 87 of file ccnd_private.h.

Referenced by ccnd_create(), ccnd_listen_on_address(), ccnd_listen_on_wildcards(), ccnd_req_newface(), and sending_fd().

number of entries in fds array

Definition at line 88 of file ccnd_private.h.

Referenced by ccnd_destroy(), ccnd_run(), and prepare_poll_fds().

struct pollfd* ccnd_handle::fds [read]

used for poll system call

Definition at line 89 of file ccnd_private.h.

Referenced by ccnd_destroy(), ccnd_run(), and prepare_poll_fds().

our time generator

Definition at line 90 of file ccnd_private.h.

Referenced by ccnd_create().

cached gettime seconds

Definition at line 91 of file ccnd_private.h.

Referenced by ccnd_append_debug_nonce(), ccnd_create(), ccnd_gettime(), ccnd_meter_bump(), collect_stats_html(), and collect_stats_xml().

cached gettime microseconds

Definition at line 92 of file ccnd_private.h.

Referenced by ccnd_append_debug_nonce(), ccnd_create(), ccnd_gettime(), ccnd_meter_bump(), collect_stats_html(), and collect_stats_xml().

ccnd start time, in seconds

Definition at line 93 of file ccnd_private.h.

Referenced by ccnd_create(), ccnd_init_service_ccnb(), collect_stats_html(), and collect_stats_xml().

ccnd start time fractional part

Definition at line 94 of file ccnd_private.h.

Referenced by ccnd_create(), ccnd_init_service_ccnb(), collect_stats_html(), and collect_stats_xml().

struct ccn_schedule* ccnd_handle::sched [read]

one-slot scratch cache

Definition at line 96 of file ccnd_private.h.

Referenced by ccnd_destroy(), charbuf_obtain(), and charbuf_release().

one-slot scratch cache

Definition at line 97 of file ccnd_private.h.

Referenced by ccnd_destroy(), indexbuf_obtain(), and indexbuf_release().

Next three fields are used for direct accession-to-content table.

Definition at line 99 of file ccnd_private.h.

Referenced by clean_deamon(), cleanout_empties(), cleanout_stragglers(), content_from_accession(), enroll_content(), and finalize_content().

struct hashtb* ccnd_handle::sparse_straggler_tab [read]

The following holds stragglers that would otherwise bloat the above.

Definition at line 103 of file ccnd_private.h.

Referenced by ccnd_create(), ccnd_destroy(), cleanout_stragglers(), collect_stats_html(), collect_stats_xml(), content_from_accession(), and finalize_content().

newest used accession number

Definition at line 104 of file ccnd_private.h.

Referenced by clean_deamon(), cleanout_stragglers(), collect_stats_html(), collect_stats_xml(), expire_content(), and process_incoming_content().

smallest accession of stale content

Definition at line 105 of file ccnd_private.h.

Referenced by ccnd_create(), clean_deamon(), expire_content(), and mark_stale().

largest accession of stale content

Definition at line 106 of file ccnd_private.h.

Referenced by ccnd_create(), clean_deamon(), expire_content(), and mark_stale().

unsigned long ccnd_handle::capacity

may toss content if there more than this many content objects in the store

Definition at line 107 of file ccnd_private.h.

Referenced by ccnd_create(), clean_deamon(), expire_content(), and process_incoming_content().

unsigned long ccnd_handle::n_stale

Number of stale content objects.

Definition at line 109 of file ccnd_private.h.

Referenced by collect_stats_html(), collect_stats_xml(), mark_stale(), process_incoming_content(), and remove_content().

unsolicited content

Definition at line 110 of file ccnd_private.h.

Referenced by ccnd_create(), ccnd_destroy(), clean_deamon(), and process_incoming_content().

Definition at line 111 of file ccnd_private.h.

Referenced by process_incoming_content().

Definition at line 112 of file ccnd_private.h.

Referenced by ccnd_create(), and process_incoming_content().

Definition at line 113 of file ccnd_private.h.

Referenced by process_incoming_interest().

Definition at line 114 of file ccnd_private.h.

Referenced by ccnd_create(), and process_incoming_interest().

Definition at line 115 of file ccnd_private.h.

Referenced by collect_stats_html(), collect_stats_xml(), and process_incoming_content().

Definition at line 116 of file ccnd_private.h.

Referenced by collect_stats_html(), collect_stats_xml(), and send_content().

Definition at line 119 of file ccnd_private.h.

Referenced by collect_stats_html(), collect_stats_xml(), and do_propagate().

unsigned short ccnd_handle::seed[3]

true while should be running

Definition at line 122 of file ccnd_private.h.

Referenced by ccnd_run(), and check_comm_file().

For debug output.

Definition at line 124 of file ccnd_private.h.

Referenced by ccnd_create(), and ccnd_msg().

Passed to logger.

Definition at line 125 of file ccnd_private.h.

Referenced by ccnd_create(), and ccnd_msg().

see ccn_msg()

Definition at line 126 of file ccnd_private.h.

Referenced by ccnd_msg().

unsigned long ccnd_handle::logtime

see ccn_msg()

Definition at line 127 of file ccnd_private.h.

Referenced by ccnd_msg().

see ccn_msg()

Definition at line 128 of file ccnd_private.h.

Referenced by ccnd_append_debug_nonce(), ccnd_create(), and ccnd_msg().

Target size for stuffing interests.

Definition at line 129 of file ccnd_private.h.

Referenced by ccn_stuff_interest(), ccnd_create(), and stuff_and_send().

Internal control for auto-reg.

Definition at line 130 of file ccnd_private.h.

Referenced by ccnd_create(), ccnd_req_newface(), and register_new_face().

URIs to auto-register.

Definition at line 131 of file ccnd_private.h.

Referenced by ccnd_create(), ccnd_destroy(), and register_new_face().

Simulate freshness=0 on all content.

Definition at line 132 of file ccnd_private.h.

Referenced by ccnd_create(), and set_content_timer().

for self_reg internal client

Definition at line 133 of file ccnd_private.h.

Referenced by ccnd_req_destroyface(), ccnd_req_newface(), ccnd_req_prefix_or_self_reg(), ccnd_req_unreg(), and do_propagate().

const char* ccnd_handle::progname

our name, for locating helpers

Definition at line 134 of file ccnd_private.h.

Referenced by ccnd_create().

struct ccn* ccnd_handle::internal_client [read]

struct face* ccnd_handle::face0 [read]

special face for internal client

Definition at line 136 of file ccnd_private.h.

Referenced by ccnd_create(), ccnd_destroy(), ccnd_internal_client_start(), ccnd_send(), and process_internal_client_buffer().

for local service discovery

Definition at line 137 of file ccnd_private.h.

Referenced by ccnd_answer_req(), and ccnd_internal_client_stop().

for neighbor service discovery

Definition at line 138 of file ccnd_private.h.

Referenced by ccnd_answer_req(), and ccnd_internal_client_stop().

struct ccn_seqwriter* ccnd_handle::notice [read]

for notices of status changes

Definition at line 139 of file ccnd_private.h.

Referenced by ccnd_internal_client_stop(), ccnd_notice_push(), ccnd_start_notice(), and post_face_notice().

faceids w/ recent status changes

Definition at line 140 of file ccnd_private.h.

Referenced by ccnd_face_status_change(), ccnd_internal_client_stop(), ccnd_notice_push(), and ccnd_start_notice().

tunable, see choose_face_delay()

Definition at line 143 of file ccnd_private.h.

Referenced by ccnd_create(), choose_face_delay(), and set_content_timer().

void(* ccnd_handle::appnonce)(struct ccnd_handle *, struct face *, struct ccn_charbuf *)

pluggable nonce generation

Referenced by ccnd_create(), and propagate_interest().


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

Generated on Thu Feb 16 00:44:34 2012 for Content-Centric Networking in C by  doxygen 1.5.6