CCNx-Android-Services/jni/csrc/ccnr/ccnr_match.c File Reference

Part of ccnr - CCNx Repository Daemon. More...

#include <errno.h>
#include <fcntl.h>
#include <limits.h>
#include <netdb.h>
#include <poll.h>
#include <signal.h>
#include <stddef.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <unistd.h>
#include <arpa/inet.h>
#include <sys/time.h>
#include <sys/socket.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <sys/un.h>
#include <netinet/in.h>
#include <ccn/bloom.h>
#include <ccn/btree_content.h>
#include <ccn/ccn.h>
#include <ccn/ccn_private.h>
#include <ccn/charbuf.h>
#include <ccn/face_mgmt.h>
#include <ccn/hashtb.h>
#include <ccn/indexbuf.h>
#include <ccn/schedule.h>
#include <ccn/reg_mgmt.h>
#include <ccn/uri.h>
#include "ccnr_private.h"
#include "ccnr_match.h"
#include "ccnr_forwarding.h"
#include "ccnr_io.h"
#include "ccnr_msg.h"
#include "ccnr_sendq.h"
#include "ccnr_store.h"

Functions

PUBLIC void r_match_consume_interest (struct ccnr_handle *h, struct propagating_entry *pe)
PUBLIC int r_match_consume_matching_interests (struct ccnr_handle *h, struct nameprefix_entry *npe, struct content_entry *content, struct ccn_parsed_ContentObject *pc, struct fdholder *fdholder)
 Consume matching interests given a nameprefix_entry and a piece of content.
PUBLIC int r_match_match_interests (struct ccnr_handle *h, struct content_entry *content, struct ccn_parsed_ContentObject *pc, struct fdholder *fdholder, struct fdholder *from_face)
 Find and consume interests that match given content.


Detailed Description

Part of ccnr - CCNx Repository Daemon.


Function Documentation

PUBLIC int r_match_consume_matching_interests ( struct ccnr_handle *  h,
struct nameprefix_entry *  npe,
struct content_entry *  content,
struct ccn_parsed_ContentObject *  pc,
struct fdholder *  fdholder 
)

Consume matching interests given a nameprefix_entry and a piece of content.

If fdholder is not NULL, pay attention only to interests from that fdholder. It is allowed to pass NULL for pc, but if you have a (valid) one it will avoid a re-parse.

Returns:
number of matches found.

PUBLIC int r_match_match_interests ( struct ccnr_handle *  h,
struct content_entry *  content,
struct ccn_parsed_ContentObject *  pc,
struct fdholder *  fdholder,
struct fdholder *  from_face 
)

Find and consume interests that match given content.

Schedules the sending of the content. If fdholder is not NULL, pay attention only to interests from that fdholder. It is allowed to pass NULL for pc, but if you have a (valid) one it will avoid a re-parse. For new content, from_face is the source; for old content, from_face is NULL.

Returns:
number of matches, or -1 if the new content should be dropped.


Generated on Thu Feb 16 00:45:13 2012 for CCNx for Android by  doxygen 1.5.6