SingingCat 0
application
|
code to discover other nodes More...
#include "main-header.h"
#include "routing.h"
#include "espressif/esp8266_flash.h"
#include "user_app_exe.h"
#include "forwarding.h"
#include "networkif.h"
Go to the source code of this file.
Macros | |
#define | HOSTROUTE_ENTRIES 40 |
#define | MAX_ROUTE_AGE_SECONDS 600 |
any route that has not been used or seen for longer than this is subject to removal (the garbage collector) More... | |
#define | ROUTING_ANNOUNCE_INTERVAL 120 |
#define | ROUTING_EVENT_LOOP_INTERVAL 30 |
Functions | |
void | bridge_packet (struct command *com) |
const char * | decisionname (int decision) |
byte | get_hops_to_server () |
how many hops to the server? More... | |
byte | get_routing_debug () |
byte | got_new_packet (struct command *com, uint8_t signal_indicator) |
stack received a new packet (signal indicator is a 0-255 byte value, interface specific) More... | |
int | is_device_online (int device) |
return 1 if the specified device is online and routing More... | |
void | remove_stale_routes () |
"old" routes are being removed this is the route garbage collector More... | |
int | routing_count_nodes () |
determine number of nodes known More... | |
void | routing_error (struct command *com, int errorcode) |
void | routing_event_loop () |
struct hostroute * | routing_find_empty_slot () |
finds an empty slot in our routing entry list More... | |
struct hostroute * | routing_find_host (const long nodeid) |
find route to host or NULL if none known More... | |
struct hostroute * | routing_find_route (const long nodeid, const byte sourcedev) |
find specific hostroute to target or NULL if none known special case, if we ask for a route to server, we get any intermediary routes which announce themselves to have a connection a server More... | |
struct hostroute * | routing_get_node_by_index (const int index) |
finds a nodeid by index. [0...n] More... | |
void | routing_init () |
called when we power-up More... | |
void | routing_print_table () |
print routing table More... | |
void | routing_request_reply (const struct command *com) |
we call this when we receive a reply to a routing request this adds or updates a new route More... | |
int | send_command_one_arg (int command, long target, const byte *arg1, int arg1len) |
helper function to quickly and easily send a command somewhere return 0 if ok, else errorcode More... | |
void | send_routing_update_now () |
void | set_routing_debug (byte b) |
code to discover other nodes
com->recipient & com->target: for those familiar with ip over ethernet, it basically works like so: com->recipient == destination mac address com->target == destination ip address
see http://www.singingcat.net/sc/Main?linkid=routing for details.
Definition in file routing.c.