Change to slashes for host/port delimiter.

This commit is contained in:
Ian Gulliver
2016-02-17 11:10:01 -08:00
parent c98e97d8fc
commit d60a2c9869
2 changed files with 8 additions and 8 deletions

View File

@@ -30,7 +30,7 @@ static void print_usage(char *argv[]) {
"\n"
"Options:\n"
"\t--help\n"
"\t--backend=HOST:PORT\n"
"\t--backend=HOST/PORT\n"
"\t--dump=FORMAT\n"
, argv[0]);
}
@@ -48,7 +48,7 @@ static bool parse_opts(int argc, char *argv[], int epoll_fd) {
switch (opt) {
case 'b':
// It would be really nice if libc had a standard way to split host:port.
delim = strrchr(optarg, ':');
delim = strrchr(optarg, '/');
if (delim == NULL) {
print_usage(argv);
return false;

View File

@@ -52,7 +52,7 @@ struct backend *backend_new(char *node, char *service, int epoll_fd) {
}
static void backend_connect(struct backend *backend, int epoll_fd) {
fprintf(stderr, "B %s: Connecting to %s %s...\n", backend->id, backend->node, backend->service);
fprintf(stderr, "B %s: Resolving %s/%s...\n", backend->id, backend->node, backend->service);
struct addrinfo hints = {
.ai_family = AF_UNSPEC,
@@ -61,7 +61,7 @@ static void backend_connect(struct backend *backend, int epoll_fd) {
int gai_err = getaddrinfo(backend->node, backend->service, &hints, &backend->addrs);
if (gai_err) {
fprintf(stderr, "B %s: getaddrinfo(%s %s): %s\n", backend->id, backend->node, backend->service, gai_strerror(gai_err));
fprintf(stderr, "B %s: getaddrinfo(%s/%s): %s\n", backend->id, backend->node, backend->service, gai_strerror(gai_err));
return;
}
backend->addr = backend->addrs;
@@ -73,7 +73,7 @@ static void backend_connect_result(struct backend *backend, int epoll_fd, int re
assert(getnameinfo(backend->addr->ai_addr, backend->addr->ai_addrlen, hbuf, sizeof(hbuf), sbuf, sizeof(sbuf), NI_NUMERICHOST | NI_NUMERICSERV) == 0);
switch (result) {
case 0:
fprintf(stderr, "B %s: Connected to %s %s\n", backend->id, hbuf, sbuf);
fprintf(stderr, "B %s: Connected to %s/%s\n", backend->id, hbuf, sbuf);
freeaddrinfo(backend->addrs);
backend->peer.event_handler = backend_read;
peer_epoll_add((struct peer *) backend, epoll_fd, EPOLLIN);
@@ -85,7 +85,7 @@ static void backend_connect_result(struct backend *backend, int epoll_fd, int re
break;
default:
fprintf(stderr, "B %s: Can't connect to %s %s: %s\n", backend->id, hbuf, sbuf, strerror(result));
fprintf(stderr, "B %s: Can't connect to %s/%s: %s\n", backend->id, hbuf, sbuf, strerror(result));
close(backend->peer.fd);
backend->addr = backend->addr->ai_next;
// Tail recursion :/
@@ -97,13 +97,13 @@ static void backend_connect_result(struct backend *backend, int epoll_fd, int re
static void backend_connect_next(struct backend *backend, int epoll_fd) {
if (backend->addr == NULL) {
freeaddrinfo(backend->addrs);
fprintf(stderr, "B %s: Can't connect to %s %s\n", backend->id, backend->node, backend->service);
fprintf(stderr, "B %s: Can't connect to any addresses of %s/%s\n", backend->id, backend->node, backend->service);
return;
}
char hbuf[NI_MAXHOST], sbuf[NI_MAXSERV];
assert(getnameinfo(backend->addr->ai_addr, backend->addr->ai_addrlen, hbuf, sizeof(hbuf), sbuf, sizeof(sbuf), NI_NUMERICHOST | NI_NUMERICSERV) == 0);
fprintf(stderr, "B %s: Connecting to %s %s...\n", backend->id, hbuf, sbuf);
fprintf(stderr, "B %s: Connecting to %s/%s...\n", backend->id, hbuf, sbuf);
backend->peer.fd = socket(backend->addr->ai_family, backend->addr->ai_socktype | SOCK_NONBLOCK, backend->addr->ai_protocol);
assert(backend->peer.fd >= 0);