TRIP Routing Daemon
TRIP (RFC 3219) Location Server Implementation
Loading...
Searching...
No Matches
manager.c File Reference
#include "manager.h"
#include "locator.h"
#include <logging/logging.h>
#include <protocol/protocol.h>
#include "session.h"
#include <util/util.h>
#include <netinet/in.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include <sys/param.h>
#include <pthread.h>
#include <arpa/inet.h>
#include <unistd.h>
Include dependency graph for manager.c:

Go to the source code of this file.

Macros

#define _COMPONENT_   "manager"
#define MAX_BACKOFF_CONNECT_RETRY   3600

Functions

session_tmanager_session_lookup_address (const manager_t *m, const struct sockaddr_in6 *addr)
 Lookup session by locator peer.
manager_tmanager_new (const struct sockaddr_in6 *listen_addr)
 Create manager and bind socket.
void manager_add_peer (manager_t *manager, const struct sockaddr_in6 *addr, uint32_t itad)
 Add known peer to underlaying locator.
void manager_run (manager_t *manager)
 Run accept loop in thread.
void manager_stop (manager_t *manager)
 Stop accept loop.
void manager_shutdown (manager_t *manager)
 Shut down manager and all sessions.
void manager_destroy (manager_t *manager)
 Destroy manager object.

Detailed Description

Singleton class. Implements connection management. Listens for incoming connection requests. When one arrives, it parses the OPEN on a thread to find capabilities, creates a session object and delegates the session to session_run in the existing thread. The manager can also initiate connections.