Usage example of the RTR connection manager.
#include <stdlib.h>
#include "rtrlib/rtrlib.h"
int main(){
char ssh_host[] = "123.231.123.221";
char ssh_user[] = "rpki_user";
char ssh_hostkey[] = "/etc/rpki-rtr/hostkey";
char ssh_privkey[] = "/etc/rpki-rtr/client.priv";
ssh_host,
22,
NULL,
ssh_user,
ssh_hostkey,
ssh_privkey,
};
char tcp1_host[] = "rpki.realmv6.org";
char tcp1_port[] = "42420";
tcp1_host,
tcp1_port,
NULL
};
char tcp2_host[] = "localhost";
char tcp2_port[] = "8282";
tcp2_host,
tcp2_port,
NULL
};
rtr_ssh.
tr_socket = &tr_ssh;
rtr_tcp1.tr_socket = &tr_tcp1;
rtr_tcp2.tr_socket = &tr_tcp2;
groups[0].
sockets = malloc(2 *
sizeof(
struct rtr_socket*));
groups[0].
sockets_len = 2;
groups[0].sockets[0] = &rtr_tcp1;
groups[0].sockets[1] = &rtr_tcp2;
groups[0].
preference = 1;
groups[1].sockets = malloc(1 *
sizeof(
struct rtr_socket*));
groups[1].sockets_len = 1;
groups[1].sockets[0] = &rtr_ssh;
groups[1].preference = 2;
struct rtr_mgr_config *conf;
int ret =
rtr_mgr_init(&conf ,groups, 2, 30, 600, 600, NULL, NULL, NULL, NULL);
sleep(1);
free(groups[0].sockets);
free(groups[1].sockets);
}