ccnr_handle Struct Reference

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


Data Fields

unsigned char ccnr_id [32]
 sha256 digest of our public key
struct ccn_charbufccnr_keyid
 public key digest in keyid format C1.M.K.
struct hashtb * nameprefix_tab
 keyed by name prefix components
struct hashtb * propagating_tab
 keyed by nonce
struct hashtb * enum_state_tab
 keyed by enumeration interest
struct ccn_indexbufskiplinks
 skiplist for content-ordered ops
struct ccn_btreebtree
 btree index of content
unsigned forward_to_gen
 for forward_to updates
unsigned face_gen
 filedesc generation number
unsigned face_rover
 for filedesc allocation
unsigned face_limit
 current number of fdholder slots
struct fdholder ** fdholder_by_fd
 array with face_limit elements
int active_in_fd
 data currently being indexed
int active_out_fd
 repo file we will write to
int repofile1_fd
 read-only access to repoFile1
off_t startupbytes
 repoFile1 size at startup
off_t stable
 repoFile1 size at shutdown
struct ccn_scheduled_eventreaper
struct ccn_scheduled_eventage
struct ccn_scheduled_eventclean
struct ccn_scheduled_eventage_forwarding
struct ccn_scheduled_eventreap_enumerations
 cleans out old enumeration state
struct ccn_scheduled_eventindex_cleaner
 writes out btree nodes
struct ccn_indexbuftoclean
 for index_cleaner use
const char * portstr
 port number for status display
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
 ccnr start time, in seconds
unsigned starttime_usec
 ccnr 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
unsigned cookie_limit
 Next two fields are used for direct cookie-to-content table.
struct content_entry ** content_by_cookie
 cookie-to-content table
struct hashtb * content_by_accession_tab
 keyed by accession
ccnr_cookie cookie
 newest used cookie number
ccnr_cookie min_stale
 smallest cookie of stale content
ccnr_cookie max_stale
 largest cookie of stale content
ccnr_cookie trim_rover
 where we left off trimming
unsigned long n_stale
 Number of stale content objects.
struct ccn_indexbufunsol
 unsolicited content
unsigned long cob_count
 count of accessioned content objects in memory
unsigned long cob_limit
 trim when we get beyond this
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 long content_from_accession_hits
unsigned long content_from_accession_misses
unsigned start_write_scope_limit
 Scope on start-write must be <= this value.
unsigned short seed [3]
 for PRNG
int running
 true while should be running
int debug
 For controlling debug output.
int syncdebug
 For controlling debug output from sync.
ccnr_logger logger
 For debug output.
void * loggerdata
 Passed to logger.
int logbreak
 see ccnr_msg()
unsigned long logtime
 see ccnr_msg()
int logpid
 see ccnr_msg()
int flood
 Internal control for auto-reg.
unsigned interest_faceid
 for self_reg internal client
const char * progname
 our name, for locating helpers
struct ccn * direct_client
 this talks directly with ccnd
struct ccn * internal_client
 internal client
struct fdholderface0
 special fdholder for internal client
struct ccn_charbufservice_ccnb
 for local service discovery
struct ccn_charbufneighbor_ccnb
 for neighbor service discovery
struct ccnr_parsed_policyparsed_policy
 offsets for parsed fields of policy
struct ccn_charbufpolicy_name
struct ccn_charbufpolicy_link_cob
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_eventdirect_client_refresh
struct ccn_scheduled_eventnotice_push
struct SyncBaseStructsync_handle
 handle to pass to the sync code
ccnr_accession notify_after
 starting item for notifying sync
ccnr_accession active_enum [CCNR_MAX_ENUM]
 active sync enumerations
const char * directory
 the repository directory


Detailed Description

We pass this handle almost everywhere within ccnr.

Definition at line 168 of file ccnr_private.h.


Field Documentation

unsigned char ccnr_handle::ccnr_id[32]

sha256 digest of our public key

Definition at line 169 of file ccnr_private.h.

Referenced by ccnr_colorhash(), ccnr_init_repo_keystore(), ccnr_uri_listen(), and collect_stats_xml().

public key digest in keyid format C1.M.K.

00...

Definition at line 170 of file ccnr_private.h.

Referenced by ccnr_init_repo_keystore(), r_proto_answer_req(), and r_proto_begin_enumeration().

struct hashtb* ccnr_handle::nameprefix_tab [read]

struct hashtb* ccnr_handle::propagating_tab [read]

keyed by nonce

Definition at line 172 of file ccnr_private.h.

Referenced by ccnr_collect_stats(), collect_stats_html(), collect_stats_xml(), r_init_create(), and r_init_destroy().

struct hashtb* ccnr_handle::enum_state_tab [read]

skiplist for content-ordered ops

Definition at line 174 of file ccnr_private.h.

Referenced by r_init_create(), and r_init_destroy().

struct ccn_btree* ccnr_handle::btree [read]

for forward_to updates

Definition at line 176 of file ccnr_private.h.

filedesc generation number

Definition at line 177 of file ccnr_private.h.

Referenced by r_init_destroy().

for filedesc allocation

Definition at line 178 of file ccnr_private.h.

read-only access to repoFile1

Definition at line 183 of file ccnr_private.h.

Referenced by r_io_repo_data_file_fd(), and r_io_shutdown_client_fd().

repoFile1 size at startup

Definition at line 184 of file ccnr_private.h.

Referenced by r_store_init(), and r_store_reindexing().

Definition at line 186 of file ccnr_private.h.

Definition at line 187 of file ccnr_private.h.

Definition at line 188 of file ccnr_private.h.

Definition at line 189 of file ccnr_private.h.

cleans out old enumeration state

Definition at line 190 of file ccnr_private.h.

Referenced by reap_enumerations(), and reap_enumerations_needed().

writes out btree nodes

Definition at line 191 of file ccnr_private.h.

Referenced by r_store_index_cleaner(), and r_store_index_needs_cleaning().

for index_cleaner use

Definition at line 192 of file ccnr_private.h.

Referenced by r_store_index_cleaner().

const char* ccnr_handle::portstr

port number for status display

Definition at line 193 of file ccnr_private.h.

Referenced by ccnr_msg(), collect_stats_html(), r_init_create(), r_net_listen_on(), r_net_listen_on_address(), and r_net_listen_on_wildcards().

number of entries in fds array

Definition at line 194 of file ccnr_private.h.

Referenced by r_dispatch_run(), r_init_destroy(), and r_io_prepare_poll_fds().

struct pollfd* ccnr_handle::fds [read]

used for poll system call

Definition at line 195 of file ccnr_private.h.

Referenced by r_dispatch_run(), r_init_destroy(), and r_io_prepare_poll_fds().

our time generator

Definition at line 196 of file ccnr_private.h.

Referenced by r_init_create().

ccnr start time, in seconds

Definition at line 199 of file ccnr_private.h.

Referenced by ccnr_init_service_ccnb(), collect_stats_html(), collect_stats_xml(), load_policy(), and r_init_create().

ccnr start time fractional part

Definition at line 200 of file ccnr_private.h.

Referenced by ccnr_init_service_ccnb(), collect_stats_html(), collect_stats_xml(), load_policy(), and r_init_create().

struct ccn_schedule* ccnr_handle::sched [read]

one-slot scratch cache

Definition at line 202 of file ccnr_private.h.

Referenced by r_init_destroy(), r_util_charbuf_obtain(), and r_util_charbuf_release().

one-slot scratch cache

Definition at line 203 of file ccnr_private.h.

Referenced by r_init_destroy(), r_util_indexbuf_obtain(), and r_util_indexbuf_release().

Next two fields are used for direct cookie-to-content table.

content_by_cookie size(power of 2)

Definition at line 205 of file ccnr_private.h.

Referenced by r_init_destroy(), r_store_content_from_cookie(), r_store_enroll_content(), r_store_forget_content(), r_store_init(), and r_store_trim().

newest used cookie number

Definition at line 208 of file ccnr_private.h.

Referenced by expire_content(), r_proto_begin_enumeration(), and r_store_enroll_content().

smallest cookie of stale content

Definition at line 209 of file ccnr_private.h.

Referenced by r_init_create(), and r_store_mark_stale().

largest cookie of stale content

Definition at line 210 of file ccnr_private.h.

Referenced by r_init_create(), and r_store_mark_stale().

where we left off trimming

Definition at line 211 of file ccnr_private.h.

Referenced by r_store_trim().

unsigned long ccnr_handle::n_stale

Number of stale content objects.

Definition at line 212 of file ccnr_private.h.

Referenced by collect_stats_html(), collect_stats_xml(), r_store_forget_content(), and r_store_mark_stale().

unsolicited content

Definition at line 213 of file ccnr_private.h.

Referenced by r_init_create(), and r_init_destroy().

unsigned long ccnr_handle::cob_count

unsigned long ccnr_handle::cob_limit

trim when we get beyond this

Definition at line 215 of file ccnr_private.h.

Referenced by r_dispatch_run(), r_init_create(), and r_store_init().

Definition at line 216 of file ccnr_private.h.

Definition at line 217 of file ccnr_private.h.

Referenced by r_init_create().

Definition at line 218 of file ccnr_private.h.

Definition at line 219 of file ccnr_private.h.

Referenced by r_init_create().

Definition at line 220 of file ccnr_private.h.

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

Definition at line 221 of file ccnr_private.h.

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

Definition at line 222 of file ccnr_private.h.

Referenced by collect_stats_html(), and collect_stats_xml().

Definition at line 223 of file ccnr_private.h.

Referenced by collect_stats_html(), and collect_stats_xml().

Definition at line 224 of file ccnr_private.h.

Referenced by collect_stats_html(), and collect_stats_xml().

Definition at line 225 of file ccnr_private.h.

Referenced by collect_stats_html(), and collect_stats_xml().

Definition at line 226 of file ccnr_private.h.

Referenced by r_store_content_from_accession().

Definition at line 227 of file ccnr_private.h.

Referenced by r_store_content_from_accession().

Scope on start-write must be <= this value.

3 indicates unlimited

Definition at line 228 of file ccnr_private.h.

Referenced by r_init_create(), r_proto_start_write(), and r_proto_start_write_checked().

unsigned short ccnr_handle::seed[3]

for PRNG

Definition at line 229 of file ccnr_private.h.

Referenced by r_store_index_cleaner(), r_util_reseed(), and randomize_content_delay().

true while should be running

Definition at line 230 of file ccnr_private.h.

Referenced by ccnr_init_repo_keystore(), handle_signal(), main(), r_dispatch_run(), r_init_create(), r_init_fail(), r_store_init(), and start_ccnr().

For controlling debug output.

Definition at line 231 of file ccnr_private.h.

Referenced by ccnr_debug_ccnb(), ccnr_msg(), ccnr_stats_http_set_debug(), CompareAction(), nodeFromNodes(), r_init_create(), and r_init_parse_config().

For controlling debug output from sync.

Definition at line 232 of file ccnr_private.h.

Referenced by r_init_create(), and SyncInit().

For debug output.

Definition at line 233 of file ccnr_private.h.

Referenced by ccnr_msg(), and r_init_create().

Passed to logger.

Definition at line 234 of file ccnr_private.h.

Referenced by ccnr_msg(), and r_init_create().

see ccnr_msg()

Definition at line 235 of file ccnr_private.h.

Referenced by ccnr_msg().

unsigned long ccnr_handle::logtime

see ccnr_msg()

Definition at line 236 of file ccnr_private.h.

Referenced by ccnr_msg().

see ccnr_msg()

Definition at line 237 of file ccnr_private.h.

Referenced by ccnr_msg(), and r_init_create().

Internal control for auto-reg.

Definition at line 238 of file ccnr_private.h.

for self_reg internal client

Definition at line 239 of file ccnr_private.h.

const char* ccnr_handle::progname

our name, for locating helpers

Definition at line 240 of file ccnr_private.h.

Referenced by r_init_create().

struct ccn* ccnr_handle::direct_client [read]

struct ccn* ccnr_handle::internal_client [read]

struct fdholder* ccnr_handle::face0 [read]

for local service discovery

Definition at line 244 of file ccnr_private.h.

Referenced by ccnr_answer_req(), ccnr_direct_client_stop(), and ccnr_internal_client_stop().

for neighbor service discovery

Definition at line 245 of file ccnr_private.h.

Referenced by ccnr_answer_req(), ccnr_direct_client_stop(), and ccnr_internal_client_stop().

offsets for parsed fields of policy

Definition at line 246 of file ccnr_private.h.

Referenced by load_policy(), r_init_create(), r_init_destroy(), r_proto_append_repo_info(), r_proto_policy_complete(), and r_proto_policy_update().

Definition at line 247 of file ccnr_private.h.

Referenced by load_policy(), and r_proto_start_write().

struct ccn_seqwriter* ccnr_handle::notice [read]

for notices of status changes

Definition at line 249 of file ccnr_private.h.

Referenced by ccnr_internal_client_stop(), ccnr_notice_push(), and post_face_notice().

faceids w/ recent status changes

Definition at line 250 of file ccnr_private.h.

Referenced by ccnr_direct_client_stop(), ccnr_face_status_change(), ccnr_internal_client_stop(), and ccnr_notice_push().

handle to pass to the sync code

Definition at line 255 of file ccnr_private.h.

Referenced by r_init_create(), r_init_destroy(), and r_sync_notify_content().

starting item for notifying sync

Definition at line 256 of file ccnr_private.h.

Referenced by r_init_create(), r_store_set_accession_from_offset(), and r_sync_notify_after().

active sync enumerations

Definition at line 257 of file ccnr_private.h.

Referenced by cleanup_se(), r_sync_enumerate(), and r_sync_enumerate_action().


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