ccnr_forwarding.h

Go to the documentation of this file.
00001 /**
00002  * @file ccnr_forwarding.h
00003  * 
00004  * Part of ccnr - CCNx Repository Daemon.
00005  *
00006  */
00007 
00008 /*
00009  * Copyright (C) 2011 Palo Alto Research Center, Inc.
00010  *
00011  * This work is free software; you can redistribute it and/or modify it under
00012  * the terms of the GNU General Public License version 2 as published by the
00013  * Free Software Foundation.
00014  * This work is distributed in the hope that it will be useful, but WITHOUT ANY
00015  * WARRANTY; without even the implied warranty of MERCHANTABILITY or
00016  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
00017  * for more details. You should have received a copy of the GNU General Public
00018  * License along with this program; if not, write to the
00019  * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
00020  * Boston, MA 02110-1301, USA.
00021  */
00022  
00023 #ifndef CCNR_FORWARDING_DEFINED
00024 #define CCNR_FORWARDING_DEFINED
00025 
00026 #include <ccn/ccn.h>
00027 #include <ccn/hashtb.h>
00028 
00029 #include "ccnr_private.h"
00030 
00031 int r_fwd_nameprefix_longest_match(struct ccnr_handle *h,const unsigned char *msg,struct ccn_indexbuf *comps,int ncomps);
00032 int r_fwd_is_duplicate_flooded(struct ccnr_handle *h,unsigned char *msg,struct ccn_parsed_interest *pi,unsigned filedesc);
00033 int r_fwd_propagate_interest(struct ccnr_handle *h,struct fdholder *fdholder,unsigned char *msg,struct ccn_parsed_interest *pi,struct nameprefix_entry *npe);
00034 void r_fwd_append_plain_nonce(struct ccnr_handle *h,struct fdholder *fdholder,struct ccn_charbuf *cb);
00035 void r_fwd_append_debug_nonce(struct ccnr_handle *h,struct fdholder *fdholder,struct ccn_charbuf *cb);
00036 void r_fwd_update_forward_to(struct ccnr_handle *h,struct nameprefix_entry *npe);
00037 void r_fwd_reg_uri_list(struct ccnr_handle *h,struct ccn_charbuf *uris,unsigned filedesc,int flags,int expires);
00038 int r_fwd_reg_uri(struct ccnr_handle *h,const char *uri,unsigned filedesc,int flags,int expires);
00039 int r_fwd_nameprefix_seek(struct ccnr_handle *h,struct hashtb_enumerator *e,const unsigned char *msg,struct ccn_indexbuf *comps,int ncomps);
00040 void r_fwd_age_forwarding_needed(struct ccnr_handle *h);
00041 void r_fwd_reap_needed(struct ccnr_handle *h,int init_delay_usec);
00042 void r_fwd_adjust_npe_predicted_response(struct ccnr_handle *h,struct nameprefix_entry *npe,int up);
00043 void r_fwd_finalize_propagating(struct hashtb_enumerator *e);
00044 void r_fwd_finalize_nameprefix(struct hashtb_enumerator *e);
00045 
00046 #endif

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