diff options
author | Harald Welte <laforge@gnumonks.org> | 2017-07-21 16:57:12 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2017-07-21 18:25:15 +0200 |
commit | 5f071cd2c6af6c840d5ecac8e8474067fdc5738c (patch) | |
tree | b1e56b7f7f017bdd0ae1fc971e1c94430bee503c | |
parent | f266924bac7c720485bee8fb4d27a35062643577 (diff) |
client: Move to osmo_sock_init2_ofd()
We can simplify the code even further by using the osmo_fd version
of osmo_sock_init2() called osmo_sock_init2_ofd(), which takes care
of filling the osmo_fd.fd member and registering the socket in the
select loop.
Change-Id: Ibf1480e7dee287db77a19bb9f0254edddf7706ab
-rw-r--r-- | src/osmo_client_network.c | 15 |
1 files changed, 3 insertions, 12 deletions
diff --git a/src/osmo_client_network.c b/src/osmo_client_network.c index 03cb281..402e1cb 100644 --- a/src/osmo_client_network.c +++ b/src/osmo_client_network.c @@ -228,20 +228,19 @@ void osmo_client_send_link(struct osmo_pcap_client_conn *conn) void osmo_client_connect(struct osmo_pcap_client_conn *conn) { - int fd; + int rc; osmo_client_disconnect(conn); conn->wqueue.read_cb = read_cb; conn->wqueue.write_cb = write_cb; - conn->wqueue.bfd.when = BSC_FD_READ; osmo_wqueue_clear(&conn->wqueue); - fd = osmo_sock_init2(AF_INET, SOCK_STREAM, IPPROTO_TCP, + rc = osmo_sock_init2_ofd(&conn->wqueue.bfd, AF_INET, SOCK_STREAM, IPPROTO_TCP, conn->source_ip, 0, conn->srv_ip, conn->srv_port, OSMO_SOCK_F_BIND | OSMO_SOCK_F_CONNECT | OSMO_SOCK_F_NONBLOCK); - if (fd < 0) { + if (rc < 0) { LOGP(DCLIENT, LOGL_ERROR, "Failed to connect conn=%s to %s:%d\n", conn->name, conn->srv_ip, conn->srv_port); @@ -249,14 +248,6 @@ void osmo_client_connect(struct osmo_pcap_client_conn *conn) return; } - conn->wqueue.bfd.fd = fd; - if (osmo_fd_register(&conn->wqueue.bfd) != 0) { - LOGP(DCLIENT, LOGL_ERROR, - "Failed to register to BFD conn=%s\n", conn->name); - lost_connection(conn); - return; - } - rate_ctr_inc(&conn->client->ctrg->ctr[CLIENT_CTR_CONNECT]); conn->wqueue.bfd.cb = conn_cb; conn->wqueue.bfd.data = conn; |