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_indexbuf * | skiplinks |
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_event * | reaper |
struct ccn_scheduled_event * | age |
struct ccn_scheduled_event * | clean |
struct ccn_scheduled_event * | age_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_charbuf * | scratch_charbuf |
one-slot scratch cache | |
struct ccn_indexbuf * | scratch_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_indexbuf * | unsol |
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_charbuf * | autoreg |
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 face * | face0 |
special face for internal client | |
struct ccn_charbuf * | service_ccnb |
for local service discovery | |
struct ccn_charbuf * | neighbor_ccnb |
for neighbor service discovery | |
struct ccn_seqwriter * | notice |
for notices of status changes | |
struct ccn_indexbuf * | chface |
faceids w/ recent status changes | |
struct ccn_scheduled_event * | internal_client_refresh |
struct ccn_scheduled_event * | notice_push |
unsigned | data_pause_microsec |
tunable, see choose_face_delay() | |
void(* | appnonce )(struct ccnd_handle *, struct face *, struct ccn_charbuf *) |
pluggable nonce generation |
We pass this handle almost everywhere within ccnd.
Definition at line 68 of file ccnd_private.h.
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().
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 ccn_scheduled_event* ccnd_handle::age |
Definition at line 82 of file ccnd_private.h.
Definition at line 84 of file ccnd_private.h.
Referenced by age_forwarding(), and age_forwarding_needed().
void(* ccnd_handle::appnonce)(struct ccnd_handle *, struct face *, struct ccn_charbuf *) |
pluggable nonce generation
Definition at line 144 of file ccnd_private.h.
Referenced by ccnd_create(), and propagate_interest().
struct ccn_charbuf* ccnd_handle::autoreg |
URIs to auto-register.
Definition at line 131 of file ccnd_private.h.
Referenced by ccnd_create(), ccnd_destroy(), and register_new_face().
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 char ccnd_handle::ccnd_id[32] |
sha256 digest of our public key
Definition at line 69 of file ccnd_private.h.
Referenced by ccnd_append_debug_nonce(), ccnd_colorhash(), ccnd_init_internal_keystore(), ccnd_reg_ccnx_ccndid(), ccnd_req_destroyface(), ccnd_req_newface(), ccnd_req_prefix_or_self_reg(), ccnd_req_unreg(), ccnd_start_notice(), ccnd_uri_listen(), check_ccndid(), and collect_stats_xml().
struct ccn_indexbuf* ccnd_handle::chface |
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().
Definition at line 83 of file ccnd_private.h.
Referenced by clean_deamon(), and clean_needed().
Definition at line 101 of file ccnd_private.h.
Referenced by ccnd_destroy(), cleanout_empties(), cleanout_stragglers(), content_from_accession(), enroll_content(), and finalize_content().
Definition at line 100 of file ccnd_private.h.
Referenced by ccnd_destroy(), cleanout_empties(), cleanout_stragglers(), content_from_accession(), and enroll_content().
unsigned long ccnd_handle::content_dups_recvd |
Definition at line 115 of file ccnd_private.h.
Referenced by collect_stats_html(), collect_stats_xml(), and process_incoming_content().
unsigned long ccnd_handle::content_items_sent |
Definition at line 116 of file ccnd_private.h.
Referenced by collect_stats_html(), collect_stats_xml(), and send_content().
struct hashtb* ccnd_handle::content_tab |
keyed by portion of ContentObject
Definition at line 72 of file ccnd_private.h.
Referenced by ccnd_create(), ccnd_destroy(), clean_deamon(), cleanout_stragglers(), collect_stats_html(), collect_stats_xml(), expire_content(), process_incoming_content(), and remove_content().
unsigned ccnd_handle::data_pause_microsec |
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().
For controlling debug output.
Definition at line 123 of file ccnd_private.h.
Referenced by adjust_outbound_for_existing_interests(), age_forwarding(), ccn_stuff_interest(), ccnd_answer_req(), ccnd_create(), ccnd_debug_ccnb(), ccnd_msg(), ccnd_reg_prefix(), ccnd_req_newface(), ccnd_req_unreg(), ccnd_stats_http_set_debug(), consume_matching_interests(), content_sender(), do_propagate(), face_send_queue_insert(), find_first_match_candidate(), get_outbound_faces(), mark_stale(), next_child_at_level(), note_content_from(), pe_next_usec(), process_incoming_content(), process_incoming_interest(), process_input(), propagate_interest(), remove_content(), replan_propagation(), send_content(), stuff_link_check(), and update_forward_to().
struct hashtb* ccnd_handle::dgram_faces |
keyed by sockaddr
Definition at line 71 of file ccnd_private.h.
Referenced by ccnd_create(), ccnd_destroy(), ccnd_destroy_face(), check_dgram_faces(), collect_stats_html(), and get_dgram_source().
struct face* ccnd_handle::face0 |
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().
unsigned ccnd_handle::face_gen |
faceid generation number
Definition at line 77 of file ccnd_private.h.
Referenced by ccnd_destroy(), enroll_face(), and finalize_face().
unsigned ccnd_handle::face_limit |
current number of face slots
Definition at line 79 of file ccnd_private.h.
Referenced by ccnd_collect_stats(), ccnd_create(), ccnd_destroy(), ccnd_start_notice(), collect_face_meter_html(), collect_faces_html(), collect_faces_xml(), and enroll_face().
unsigned ccnd_handle::face_rover |
for faceid allocation
Definition at line 78 of file ccnd_private.h.
Referenced by enroll_face(), and finalize_face().
struct face** ccnd_handle::faces_by_faceid |
array with face_limit elements
Definition at line 80 of file ccnd_private.h.
Referenced by ccnd_collect_stats(), ccnd_create(), ccnd_destroy(), ccnd_start_notice(), collect_face_meter_html(), collect_faces_html(), collect_faces_xml(), enroll_face(), face_from_faceid(), and finalize_face().
struct hashtb* ccnd_handle::faces_by_fd |
keyed by fd
Definition at line 70 of file ccnd_private.h.
Referenced by ccnd_create(), ccnd_destroy(), ccnd_getboundsocket(), ccnd_shutdown_listeners(), collect_stats_html(), do_deferred_write(), faceid_from_fd(), finalize_face(), make_connection(), prepare_poll_fds(), process_input(), record_connection(), setup_multicast(), and shutdown_client_fd().
struct pollfd* ccnd_handle::fds |
used for poll system call
Definition at line 89 of file ccnd_private.h.
Referenced by ccnd_destroy(), ccnd_run(), and prepare_poll_fds().
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().
Simulate freshness=0 on all content.
Definition at line 132 of file ccnd_private.h.
Referenced by ccnd_create(), and set_content_timer().
unsigned ccnd_handle::forward_to_gen |
for forward_to updates
Definition at line 76 of file ccnd_private.h.
Referenced by age_forwarding(), ccnd_reg_prefix(), ccnd_req_unreg(), do_propagate(), get_outbound_faces(), match_interests(), nameprefix_seek(), propagate_interest(), replan_propagation(), and update_forward_to().
unsigned ccnd_handle::interest_faceid |
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().
unsigned long ccnd_handle::interests_accepted |
Definition at line 117 of file ccnd_private.h.
Referenced by collect_stats_html(), collect_stats_xml(), and process_incoming_interest().
unsigned long ccnd_handle::interests_dropped |
Definition at line 118 of file ccnd_private.h.
Referenced by collect_stats_html(), collect_stats_xml(), process_incoming_interest(), and propagate_interest().
unsigned long ccnd_handle::interests_sent |
Definition at line 119 of file ccnd_private.h.
Referenced by collect_stats_html(), collect_stats_xml(), and do_propagate().
unsigned long ccnd_handle::interests_stuffed |
Definition at line 120 of file ccnd_private.h.
Referenced by ccn_stuff_interest(), collect_stats_html(), collect_stats_xml(), and stuff_link_check().
struct ccn* ccnd_handle::internal_client |
internal client
Definition at line 135 of file ccnd_private.h.
Referenced by ccnd_init_internal_keystore(), ccnd_init_service_ccnb(), ccnd_internal_client_refresh(), ccnd_internal_client_start(), ccnd_internal_client_stop(), ccnd_send(), ccnd_start_notice(), ccnd_uri_listen(), and process_internal_client_buffer().
Definition at line 141 of file ccnd_private.h.
Referenced by ccnd_internal_client_refresh(), ccnd_internal_client_start(), and ccnd_internal_client_stop().
unsigned ccnd_handle::ipv4_faceid |
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().
unsigned ccnd_handle::ipv6_faceid |
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().
For debug output.
Definition at line 124 of file ccnd_private.h.
Referenced by ccnd_create(), and ccnd_msg().
void* ccnd_handle::loggerdata |
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 128 of file ccnd_private.h.
Referenced by ccnd_append_debug_nonce(), ccnd_create(), and ccnd_msg().
unsigned long ccnd_handle::logtime |
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().
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().
int ccnd_handle::mtu |
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().
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().
struct hashtb* ccnd_handle::nameprefix_tab |
keyed by name prefix components
Definition at line 73 of file ccnd_private.h.
Referenced by age_forwarding(), ccn_stuff_interest(), ccnd_collect_stats(), ccnd_create(), ccnd_destroy(), ccnd_reg_prefix(), ccnd_req_unreg(), check_nameprefix_entries(), collect_forwarding_html(), collect_forwarding_xml(), collect_stats_html(), collect_stats_xml(), match_interests(), nameprefix_longest_match(), and process_incoming_interest().
for neighbor service discovery
Definition at line 138 of file ccnd_private.h.
Referenced by ccnd_answer_req(), and ccnd_internal_client_stop().
nfds_t ccnd_handle::nfds |
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 ccn_seqwriter* ccnd_handle::notice |
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().
Definition at line 142 of file ccnd_private.h.
Referenced by ccnd_face_status_change(), ccnd_internal_client_stop(), and ccnd_notice_push().
unsigned long ccnd_handle::oldformatcontent |
Definition at line 111 of file ccnd_private.h.
Referenced by process_incoming_content().
unsigned long ccnd_handle::oldformatcontentgrumble |
Definition at line 112 of file ccnd_private.h.
Referenced by ccnd_create(), and process_incoming_content().
unsigned long ccnd_handle::oldformatinterestgrumble |
Definition at line 114 of file ccnd_private.h.
Referenced by ccnd_create(), and process_incoming_interest().
unsigned long ccnd_handle::oldformatinterests |
Definition at line 113 of file ccnd_private.h.
Referenced by process_incoming_interest().
const char* ccnd_handle::portstr |
"main" port number
Definition at line 85 of file ccnd_private.h.
Referenced by ccnd_create(), ccnd_init_internal_keystore(), ccnd_listen_on_address(), ccnd_listen_on_wildcards(), and ccnd_msg().
const char* ccnd_handle::progname |
our name, for locating helpers
Definition at line 134 of file ccnd_private.h.
Referenced by ccnd_create(), and ccnd_init_internal_keystore().
struct hashtb* ccnd_handle::propagating_tab |
keyed by nonce
Definition at line 74 of file ccnd_private.h.
Referenced by ccnd_collect_stats(), ccnd_create(), ccnd_destroy(), check_propagating(), collect_stats_html(), collect_stats_xml(), is_duplicate_flooded(), and propagate_interest().
Definition at line 81 of file ccnd_private.h.
Referenced by reap(), and reap_needed().
true while should be running
Definition at line 122 of file ccnd_private.h.
Referenced by ccnd_run(), and check_comm_file().
struct ccn_schedule* ccnd_handle::sched |
our schedule
Definition at line 95 of file ccnd_private.h.
Referenced by age_forwarding_needed(), ccnd_create(), ccnd_destroy(), ccnd_face_status_change(), ccnd_internal_client_start(), ccnd_internal_client_stop(), ccnd_run(), clean_needed(), content_queue_destroy(), face_send_queue_insert(), propagate_interest(), reap_needed(), and set_content_timer().
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().
long ccnd_handle::sec |
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().
unsigned short ccnd_handle::seed[3] |
for PRNG
Definition at line 121 of file ccnd_private.h.
Referenced by ccn_link_state_init(), ccnd_append_debug_nonce(), ccnd_append_plain_nonce(), ccnd_reseed(), content_skiplist_insert(), do_propagate(), nameprefix_seek(), propagate_interest(), and randomize_content_delay().
struct ccn_charbuf* ccnd_handle::service_ccnb |
for local service discovery
Definition at line 137 of file ccnd_private.h.
Referenced by ccnd_answer_req(), and ccnd_internal_client_stop().
struct ccn_indexbuf* ccnd_handle::skiplinks |
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().
struct hashtb* ccnd_handle::sparse_straggler_tab |
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().
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().
unsigned ccnd_handle::starttime_usec |
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_gettime ccnd_handle::ticktock |
struct ccn_indexbuf* ccnd_handle::unsol |
unsolicited content
Definition at line 110 of file ccnd_private.h.
Referenced by ccnd_create(), ccnd_destroy(), clean_deamon(), and process_incoming_content().
unsigned ccnd_handle::usec |
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().