The forwarder core.
More...
|
void | ndn_forwarder_init (void) |
| Initialize all components of the forwarder. More...
|
|
void | ndn_forwarder_process (void) |
| Process event messages. More...
|
|
int | ndn_forwarder_register_face (ndn_face_intf_t *face) |
| Register a new face. More...
|
|
int | ndn_forwarder_unregister_face (ndn_face_intf_t *face) |
| Unregister a face. More...
|
|
int | ndn_forwarder_add_route (ndn_face_intf_t *face, uint8_t *prefix, size_t length) |
| Add a route into FIB. More...
|
|
int | ndn_forwarder_remove_route (ndn_face_intf_t *face, uint8_t *prefix, size_t length) |
| Remove a route from FIB. More...
|
|
int | ndn_forwarder_remove_all_routes (uint8_t *prefix, size_t length) |
| Remove all routes of a prefix from FIB. More...
|
|
int | ndn_forwarder_receive (ndn_face_intf_t *face, uint8_t *packet, size_t length) |
| Receive a packet from a face. More...
|
|
int | ndn_forwarder_register_prefix (uint8_t *prefix, size_t length, ndn_on_interest_func on_interest, void *userdata) |
| Register a prefix. More...
|
|
int | ndn_forwarder_unregister_prefix (uint8_t *prefix, size_t length) |
| Unregister a prefix. More...
|
|
int | ndn_forwarder_express_interest (uint8_t *interest, size_t length, ndn_on_data_func on_data, ndn_on_timeout_func on_timeout, void *userdata) |
| Express an interest. More...
|
|
int | ndn_forwarder_put_data (uint8_t *data, size_t length) |
| Produce a data packet. More...
|
|
The forwarder core.
◆ ndn_forwarder_add_route()
int ndn_forwarder_add_route |
( |
ndn_face_intf_t * |
face, |
|
|
uint8_t * |
prefix, |
|
|
size_t |
length |
|
) |
| |
Add a route into FIB.
- Parameters
-
[in] | face | The face to forward. |
[in] | prefix | The prefix of the route. |
[in] | length | The length of prefix . |
- Returns
- NDN_SUCCESS if the call succeeded. The error code otherwise.
- Return values
-
◆ ndn_forwarder_express_interest()
Express an interest.
A repeated expression cancels the former expression with the same name. Either on_data
or on_timeout
will be called only once.
- Parameters
-
[in] | interest | The interest to express. |
[in] | length | The length of interest . |
[in] | on_data | The callback function when a data comes. |
[in] | on_timeout | [Optional] The callback function when times out. |
[in] | userdata | [Optional] User-defined data, copied to on_data and on_timeout . |
- Returns
- NDN_SUCCESS if the call succeeded. The error code otherwise.
- Return values
-
◆ ndn_forwarder_init()
void ndn_forwarder_init |
( |
void |
| ) |
|
Initialize all components of the forwarder.
◆ ndn_forwarder_process()
void ndn_forwarder_process |
( |
void |
| ) |
|
Process event messages.
This should be called at a fixed interval.
◆ ndn_forwarder_put_data()
int ndn_forwarder_put_data |
( |
uint8_t * |
data, |
|
|
size_t |
length |
|
) |
| |
Produce a data packet.
- Parameters
-
[in] | data | The data to produce. |
[in] | length | The length of data . |
- Returns
- NDN_SUCCESS if the call succeeded. The error code otherwise.
◆ ndn_forwarder_receive()
int ndn_forwarder_receive |
( |
ndn_face_intf_t * |
face, |
|
|
uint8_t * |
packet, |
|
|
size_t |
length |
|
) |
| |
Receive a packet from a face.
◆ ndn_forwarder_register_face()
Register a new face.
The face should call this to get a face id during creation.
- Parameters
-
[in,out] | face | The face to register. |
- Returns
- NDN_SUCCESS if the call succeeded. The error code otherwise.
- Return values
-
- Note
- The application doesn't need to register faces manually.
- Precondition
face->face_id == NDN_INVALID_ID
◆ ndn_forwarder_register_prefix()
int ndn_forwarder_register_prefix |
( |
uint8_t * |
prefix, |
|
|
size_t |
length, |
|
|
ndn_on_interest_func |
on_interest, |
|
|
void * |
userdata |
|
) |
| |
Register a prefix.
A latter registration cancels the former one.
- Parameters
-
[in] | prefix | The prefix to register. |
[in] | length | The length of prefix . |
[in] | on_interest | The callback function when an interest comes. |
[in] | userdata | [Optional] User-defined data, copied to on_interest . |
- Returns
- NDN_SUCCESS if the call succeeded. The error code otherwise.
- Return values
-
◆ ndn_forwarder_remove_all_routes()
int ndn_forwarder_remove_all_routes |
( |
uint8_t * |
prefix, |
|
|
size_t |
length |
|
) |
| |
Remove all routes of a prefix from FIB.
Removing all routes and the FIB entry for a prefix.
- Parameters
-
[in] | prefix | The prefix. |
[in] | length | The length of prefix . |
- Returns
- NDN_SUCCESS if the call succeeded. The error code otherwise.
- Return values
-
◆ ndn_forwarder_remove_route()
int ndn_forwarder_remove_route |
( |
ndn_face_intf_t * |
face, |
|
|
uint8_t * |
prefix, |
|
|
size_t |
length |
|
) |
| |
Remove a route from FIB.
Removing the last route of a not registered FIB entry will delete the entry.
- Parameters
-
[in] | face | The face of the route. |
[in] | prefix | The prefix of the route. |
[in] | length | The length of prefix . |
- Returns
- NDN_SUCCESS if the call succeeded. The error code otherwise.
- Return values
-
◆ ndn_forwarder_unregister_face()
Unregister a face.
Remove face
from FIB, PIT and face table. The face should unregister itself during destruction. Delete FIB or PIT entries if necessary.
- Parameters
-
[in,out] | face | The face to unregister. |
- Returns
- NDN_SUCCESS if the call succeeded. The error code otherwise.
- Return values
-
- Note
- The application doesn't need to unregister faces manually.
- Postcondition
face->face_id == NDN_INVALID_ID
◆ ndn_forwarder_unregister_prefix()
int ndn_forwarder_unregister_prefix |
( |
uint8_t * |
prefix, |
|
|
size_t |
length |
|
) |
| |
Unregister a prefix.
- Parameters
-
[in] | prefix | The prefix to register. |
[in] | length | The length of prefix . |
- Returns
- NDN_SUCCESS if the call succeeded. The error code otherwise.
- Return values
-