Change in osmo-pcap[master]: Use osmo_fd_setup() whenever applicable

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

laforge gerrit-no-reply at lists.osmocom.org
Mon Oct 19 11:07:23 UTC 2020


laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcap/+/20782 )


Change subject: Use osmo_fd_setup() whenever applicable
......................................................................

Use osmo_fd_setup() whenever applicable

Change-Id: I02097760e7c6a5694290f4b877013aee9d92fd0e
---
M src/osmo_client_core.c
M src/osmo_client_network.c
M src/osmo_tls.c
3 files changed, 7 insertions(+), 17 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-pcap refs/changes/82/20782/1

diff --git a/src/osmo_client_core.c b/src/osmo_client_core.c
index c49bc1b..025e3a4 100644
--- a/src/osmo_client_core.c
+++ b/src/osmo_client_core.c
@@ -305,10 +305,7 @@
 		return 3;
 	}
 
-	client->fd.fd = fd;
-	client->fd.when = OSMO_FD_READ;
-	client->fd.cb = pcap_read_cb;
-	client->fd.data = client;
+	osmo_fd_setup(&client->fd, fd, OSMO_FD_READ, pcap_read_cb, client, 0);
 	if (osmo_fd_register(&client->fd) != 0) {
 		LOGP(DCLIENT, LOGL_ERROR,
 		     "Failed to register the fd.\n");
diff --git a/src/osmo_client_network.c b/src/osmo_client_network.c
index c89847d..32d450f 100644
--- a/src/osmo_client_network.c
+++ b/src/osmo_client_network.c
@@ -267,6 +267,7 @@
 	int rc;
 	uint16_t srv_port;
 	int sock_type, sock_proto;
+	unsigned int when;
 
 	osmo_client_disconnect(conn);
 
@@ -279,18 +280,20 @@
 		srv_port = conn->srv_port;
 		sock_type = SOCK_STREAM;
 		sock_proto = IPPROTO_TCP;
+		when = OSMO_FD_READ | OSMO_FD_WRITE;
 		break;
 	case PROTOCOL_IPIP:
 		srv_port = 0;
 		sock_type = SOCK_RAW;
 		sock_proto = IPPROTO_IPIP;
-		conn->wqueue.bfd.when = OSMO_FD_WRITE;
+		when = OSMO_FD_WRITE;
 		break;
 	default:
 		OSMO_ASSERT(0);
 		break;
 	}
 
+	osmo_fd_setup(&conn->wqueue.bfd, -1, when, conn_cb, conn, 0);
 	rc = osmo_sock_init2_ofd(&conn->wqueue.bfd, AF_INET, sock_type, sock_proto,
 				conn->source_ip, 0, conn->srv_ip, srv_port,
 				OSMO_SOCK_F_BIND | OSMO_SOCK_F_CONNECT | OSMO_SOCK_F_NONBLOCK);
@@ -303,12 +306,6 @@
 	}
 
 	rate_ctr_inc(&conn->client->ctrg->ctr[CLIENT_CTR_CONNECT]);
-	conn->wqueue.bfd.cb = conn_cb;
-	conn->wqueue.bfd.data = conn;
-	if (conn->protocol == PROTOCOL_IPIP)
-		conn->wqueue.bfd.when = OSMO_FD_WRITE;
-	else
-		conn->wqueue.bfd.when = OSMO_FD_READ | OSMO_FD_WRITE;
 }
 
 void osmo_client_reconnect(struct osmo_pcap_client_conn *conn)
diff --git a/src/osmo_tls.c b/src/osmo_tls.c
index 56fedbb..f1671e9 100644
--- a/src/osmo_tls.c
+++ b/src/osmo_tls.c
@@ -435,9 +435,7 @@
 	gnutls_transport_set_int(sess->session, wq->bfd.fd);
 	gnutls_handshake_set_timeout(sess->session,
 					GNUTLS_DEFAULT_HANDSHAKE_TIMEOUT);
-	wq->bfd.cb = osmo_tls_client_bfd_cb;
-	wq->bfd.data = sess;
-	wq->bfd.when = OSMO_FD_READ | OSMO_FD_WRITE;
+	osmo_fd_setup(&wq->bfd, wq->bfd.fd, OSMO_FD_READ | OSMO_FD_WRITE, osmo_tls_client_bfd_cb, sess, 0);
 	sess->need_handshake = true;
 	sess->wqueue = wq;
 	return true;
@@ -531,9 +529,7 @@
 	gnutls_transport_set_int(sess->session, wq->bfd.fd);
 	gnutls_handshake_set_timeout(sess->session,
 					GNUTLS_DEFAULT_HANDSHAKE_TIMEOUT);
-	wq->bfd.cb = osmo_tls_client_bfd_cb;
-	wq->bfd.data = sess;
-	wq->bfd.when = OSMO_FD_READ | OSMO_FD_WRITE;
+	osmo_fd_setup(&wq->bfd, wq->bfd.fd, OSMO_FD_READ | OSMO_FD_WRITE, osmo_tls_client_bfd_cb, sess, 0);
 	sess->need_handshake = true;
 	sess->wqueue = wq;
 	return true;

-- 
To view, visit https://gerrit.osmocom.org/c/osmo-pcap/+/20782
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-pcap
Gerrit-Branch: master
Gerrit-Change-Id: I02097760e7c6a5694290f4b877013aee9d92fd0e
Gerrit-Change-Number: 20782
Gerrit-PatchSet: 1
Gerrit-Owner: laforge <laforge at osmocom.org>
Gerrit-MessageType: newchange
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20201019/9e8483b1/attachment.htm>


More information about the gerrit-log mailing list