Skip to content

Commit 85cacff

Browse files
authored
Merge pull request #106 from ssahani/misc
Refactor connection retry
2 parents 9cd12b5 + 8c6bff9 commit 85cacff

File tree

1 file changed

+9
-13
lines changed

1 file changed

+9
-13
lines changed

src/netlog/netlog-network.c

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -75,26 +75,24 @@ static int protocol_send(Manager *m, struct iovec *iovec, unsigned n_iovec) {
7575
case SYSLOG_TRANSMISSION_PROTOCOL_DTLS:
7676
r = dtls_datagram_writev(m->dtls, iovec, n_iovec);
7777
if (r < 0 && r != -EAGAIN) {
78-
dtls_disconnect(m->dtls);
78+
manager_connect(m);
7979
return r;
8080
}
8181
break;
8282
case SYSLOG_TRANSMISSION_PROTOCOL_TLS:
8383
r = tls_stream_writev(m->tls, iovec, n_iovec);
8484
if (r < 0 && r != -EAGAIN) {
85-
tls_disconnect(m->tls);
85+
manager_connect(m);
8686
return r;
8787
}
8888
break;
89-
case SYSLOG_TRANSMISSION_PROTOCOL_TCP:
89+
default:
9090
r = network_send(m, iovec, n_iovec);
9191
if (r < 0 && r != -EAGAIN) {
92-
manager_close_network_socket(m);
92+
manager_connect(m);
9393
return r;
9494
}
9595
break;
96-
default:
97-
return network_send(m, iovec, n_iovec);
9896
}
9997

10098
return 0;
@@ -307,28 +305,26 @@ int manager_push_to_network(Manager *m,
307305
switch (m->protocol) {
308306
case SYSLOG_TRANSMISSION_PROTOCOL_DTLS:
309307
if (!m->dtls->connected) {
310-
r = dtls_connect(m->dtls, &m->address);
308+
r = manager_connect(m);
311309
if (r < 0)
312310
return r;
313311
}
314312

315313
break;
316314
case SYSLOG_TRANSMISSION_PROTOCOL_TLS:
317315
if (!m->tls->connected) {
318-
r = tls_connect(m->tls, &m->address);
316+
r = manager_connect(m);
319317
if (r < 0)
320318
return r;
321319
}
322320
break;
323-
case SYSLOG_TRANSMISSION_PROTOCOL_TCP:
321+
default:
324322
if (!m->connected) {
325-
r = manager_open_network_socket(m);
323+
r = manager_connect(m);
326324
if (r < 0)
327325
return r;
328326
}
329327
break;
330-
default:
331-
break;
332328
}
333329

334330
if (m->log_format == SYSLOG_TRANSMISSION_LOG_FORMAT_RFC_5424)
@@ -489,7 +485,7 @@ int manager_open_network_socket(Manager *m) {
489485
goto fail;
490486

491487
m->connected = true;
492-
return m->socket;
488+
return 0;
493489

494490
fail:
495491
m->socket = safe_close(m->socket);

0 commit comments

Comments
 (0)