pespin has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/osmo-pcap/+/39274?usp=email )


Change subject: server: Split osmo_pcap_conn alloc to its own function
......................................................................

server: Split osmo_pcap_conn alloc to its own function

Change-Id: I622c9662b0a451ca5466e053a046346b536ed0a6
---
M include/osmo-pcap/osmo_pcap_server.h
M src/osmo_server_network.c
M src/osmo_server_vty.c
3 files changed, 19 insertions(+), 11 deletions(-)



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

diff --git a/include/osmo-pcap/osmo_pcap_server.h 
b/include/osmo-pcap/osmo_pcap_server.h
index ae578b4..df4d171 100644
--- a/include/osmo-pcap/osmo_pcap_server.h
+++ b/include/osmo-pcap/osmo_pcap_server.h
@@ -161,7 +161,7 @@

 void osmo_pcap_server_reopen(struct osmo_pcap_server *server);
 int osmo_pcap_server_listen(struct osmo_pcap_server *server);
-struct osmo_pcap_conn *osmo_pcap_server_find(struct osmo_pcap_server *ser,
+struct osmo_pcap_conn *osmo_pcap_server_find_or_create(struct osmo_pcap_server 
*ser,
                                             const char *name);
 void osmo_pcap_server_delete(struct osmo_pcap_conn *conn);
 void vty_server_init(void);
diff --git a/src/osmo_server_network.c b/src/osmo_server_network.c
index 044e0ec..0567b21 100644
--- a/src/osmo_server_network.c
+++ b/src/osmo_server_network.c
@@ -499,16 +499,11 @@
        talloc_free(conn);
 }

-struct osmo_pcap_conn *osmo_pcap_server_find(struct osmo_pcap_server *server,
-                                            const char *name)
+static struct osmo_pcap_conn *osmo_pcap_conn_alloc(struct osmo_pcap_server 
*server,
+                                                  const char *name)
 {
-       struct rate_ctr_group_desc *desc;
        struct osmo_pcap_conn *conn;
-
-       llist_for_each_entry(conn, &server->conn, entry) {
-               if (strcmp(conn->name, name) == 0)
-                       return conn;
-       }
+       struct rate_ctr_group_desc *desc;

        conn = talloc_zero(server, struct osmo_pcap_conn);
        if (!conn) {
@@ -563,6 +558,19 @@
        return conn;
 }

+struct osmo_pcap_conn *osmo_pcap_server_find_or_create(
+                               struct osmo_pcap_server *server,
+                               const char *name)
+{
+       struct osmo_pcap_conn *conn;
+
+       llist_for_each_entry(conn, &server->conn, entry) {
+               if (strcmp(conn->name, name) == 0)
+                       return conn;
+       }
+       return osmo_pcap_conn_alloc(server, name);
+}
+
 static int do_read_tls(struct osmo_pcap_conn *conn, void *buf, size_t 
want_size)
 {
        size_t size = want_size;
diff --git a/src/osmo_server_vty.c b/src/osmo_server_vty.c
index b976857..aed382f 100644
--- a/src/osmo_server_vty.c
+++ b/src/osmo_server_vty.c
@@ -354,7 +354,7 @@
                        bool store, bool use_tls)
 {
        struct osmo_pcap_conn *conn;
-       conn = osmo_pcap_server_find(pcap_server, name);
+       conn = osmo_pcap_server_find_or_create(pcap_server, name);
        if (!conn) {
                vty_out(vty, "Failed to create a pcap server.\n");
                return CMD_WARNING;
@@ -403,7 +403,7 @@
       NO_STR CLIENT_STR "The name\n")
 {
        struct osmo_pcap_conn *conn;
-       conn = osmo_pcap_server_find(pcap_server, argv[0]);
+       conn = osmo_pcap_server_find_or_create(pcap_server, argv[0]);
        if (!conn) {
                vty_out(vty, "Failed to create a pcap server.\n");
                return CMD_WARNING;

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

Gerrit-MessageType: newchange
Gerrit-Project: osmo-pcap
Gerrit-Branch: master
Gerrit-Change-Id: I622c9662b0a451ca5466e053a046346b536ed0a6
Gerrit-Change-Number: 39274
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <[email protected]>

Reply via email to