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


Change subject: mgw: Rename and move several get_conn funcs acting on endp 
object
......................................................................

mgw: Rename and move several get_conn funcs acting on endp object

These functions act on the endp object, hence prefix them with
mgcp_endp_* and move them to mgcp_endp.{c,h}.

Change-Id: Ifff01331db68998e9e23f99d8836d96022d550c2
---
M include/osmocom/mgcp/mgcp_conn.h
M include/osmocom/mgcp/mgcp_endp.h
M src/libosmo-mgcp/mgcp_conn.c
M src/libosmo-mgcp/mgcp_e1.c
M src/libosmo-mgcp/mgcp_endp.c
M src/libosmo-mgcp/mgcp_msg.c
M src/libosmo-mgcp/mgcp_protocol.c
M src/libosmo-mgcp/mgcp_vty.c
M tests/mgcp/mgcp_test.c
9 files changed, 87 insertions(+), 86 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/84/39184/1

diff --git a/include/osmocom/mgcp/mgcp_conn.h b/include/osmocom/mgcp/mgcp_conn.h
index 6219579..de9bae6 100644
--- a/include/osmocom/mgcp/mgcp_conn.h
+++ b/include/osmocom/mgcp/mgcp_conn.h
@@ -240,10 +240,6 @@
 struct mgcp_conn *mgcp_conn_alloc(void *ctx, struct mgcp_endpoint *endp,
                                  enum mgcp_conn_type type, char *name);
 void mgcp_conn_free(struct mgcp_conn *conn);
-struct mgcp_conn *mgcp_conn_get(struct mgcp_endpoint *endp, const char *id);
-struct mgcp_conn_rtp *mgcp_conn_get_rtp(struct mgcp_endpoint *endp,
-                                       const char *id);
 char *mgcp_conn_dump(struct mgcp_conn *conn);
 struct mgcp_conn *mgcp_find_dst_conn(struct mgcp_conn *conn);
-struct mgcp_conn *mgcp_conn_get_oldest(struct mgcp_endpoint *endp);
 void mgcp_conn_watchdog_kick(struct mgcp_conn *conn);
diff --git a/include/osmocom/mgcp/mgcp_endp.h b/include/osmocom/mgcp/mgcp_endp.h
index 8e5b4cc..4f41818 100644
--- a/include/osmocom/mgcp/mgcp_endp.h
+++ b/include/osmocom/mgcp/mgcp_endp.h
@@ -148,3 +148,8 @@
 struct mgcp_endpoint *mgcp_endp_find_specific(const char *epname,
                        const struct mgcp_trunk *trunk);
 void mgcp_endp_release(struct mgcp_endpoint *endp);
+
+struct mgcp_conn *mgcp_endp_get_conn(struct mgcp_endpoint *endp, const char 
*id);
+struct mgcp_conn *mgcp_endp_get_conn_oldest(struct mgcp_endpoint *endp);
+struct mgcp_conn_rtp *mgcp_endp_get_conn_rtp(struct mgcp_endpoint *endp,
+                                       const char *id);
diff --git a/src/libosmo-mgcp/mgcp_conn.c b/src/libosmo-mgcp/mgcp_conn.c
index 9c60dfa..9d03550 100644
--- a/src/libosmo-mgcp/mgcp_conn.c
+++ b/src/libosmo-mgcp/mgcp_conn.c
@@ -74,7 +74,7 @@

                /* ensure that the generated conn_id is unique
                 * for this endpoint */
-               if (!mgcp_conn_get_rtp(endp, id_hex)) {
+               if (!mgcp_endp_get_conn_rtp(endp, id_hex)) {
                        osmo_strlcpy(id, id_hex, MGCP_CONN_ID_MAXLEN);
                        return 0;
                }
@@ -212,58 +212,6 @@
        return conn;
 }

-/*! find a connection by its ID.
- *  \param[in] endp associated endpoint
- *  \param[in] id identification number of the connection
- *  \returns pointer to allocated connection, NULL if not found */
-struct mgcp_conn *mgcp_conn_get(struct mgcp_endpoint *endp, const char *id)
-{
-       struct mgcp_conn *conn;
-       const char *id_upper;
-       const char *conn_id;
-
-       if (!id || !*id)
-               return NULL;
-
-       /* Ignore leading zeros in needle */
-       while (*id == '0')
-               id++;
-
-       /* Use uppercase to compare identifiers, to avoid mismatches: RFC3435 
2.1.3.2 "Names of
-        * Connections" defines the id as a hex string, so clients may return 
lower case hex even though
-        * we sent upper case hex in the CRCX response. */
-       id_upper = osmo_str_toupper(id);
-
-       llist_for_each_entry(conn, &endp->conns, entry) {
-               /* Ignore leading zeros in haystack */
-               for (conn_id=conn->id; *conn_id == '0'; conn_id++);
-
-               if (strcmp(conn_id, id_upper) == 0)
-                       return conn;
-       }
-
-       return NULL;
-}
-
-/*! find an RTP connection by its ID.
- *  \param[in] endp associated endpoint
- *  \param[in] id identification number of the connection
- *  \returns pointer to allocated connection, NULL if not found */
-struct mgcp_conn_rtp *mgcp_conn_get_rtp(struct mgcp_endpoint *endp,
-                                       const char *id)
-{
-       struct mgcp_conn *conn;
-
-       conn = mgcp_conn_get(endp, id);
-       if (!conn)
-               return NULL;
-
-       if (conn->type == MGCP_CONN_TYPE_RTP)
-               return &conn->u.rtp;
-
-       return NULL;
-}
-
 static void aggregate_rtp_conn_stats(struct mgcp_endpoint *endp, struct 
mgcp_conn_rtp *conn_rtp)
 {
        struct rate_ctr_group *all_stats = 
endp->trunk->ratectr.all_rtp_conn_stats;
@@ -377,16 +325,6 @@
        return NULL;
 }

-/*! get oldest connection in the list.
- *  \param[in] endp associated endpoint */
-struct mgcp_conn *mgcp_conn_get_oldest(struct mgcp_endpoint *endp)
-{
-       if (llist_empty(&endp->conns))
-               return NULL;
-
-       return llist_last_entry(&endp->conns, struct mgcp_conn, entry);
-}
-
 const struct value_string mgcp_conn_rtp_type_names[] = {
        { MGCP_RTP_DEFAULT, "rtp" },
        { MGCP_RTP_OSMUX, "osmux" },
diff --git a/src/libosmo-mgcp/mgcp_e1.c b/src/libosmo-mgcp/mgcp_e1.c
index 1428824..fac1ff6 100644
--- a/src/libosmo-mgcp/mgcp_e1.c
+++ b/src/libosmo-mgcp/mgcp_e1.c
@@ -656,7 +656,7 @@
        /* In order to determine the codec, find the oldest connection on
         * the endpoint and use its codec information. Normally on an E1
         * endpoint no more than one connection should exist. */
-       conn = mgcp_conn_get_oldest(endp);
+       conn = mgcp_endp_get_conn_oldest(endp);
        OSMO_ASSERT(conn);
        codec = conn->u.rtp.end.codec;
        OSMO_ASSERT(codec);
diff --git a/src/libosmo-mgcp/mgcp_endp.c b/src/libosmo-mgcp/mgcp_endp.c
index 6973b43..b2ece20 100644
--- a/src/libosmo-mgcp/mgcp_endp.c
+++ b/src/libosmo-mgcp/mgcp_endp.c
@@ -684,6 +684,68 @@
                mgcp_conn_free(conn);
 }

+/*! find a connection by its ID.
+ *  \param[in] endp associated endpoint
+ *  \param[in] id identification number of the connection
+ *  \returns pointer to allocated connection, NULL if not found */
+struct mgcp_conn *mgcp_endp_get_conn(struct mgcp_endpoint *endp, const char 
*id)
+{
+       struct mgcp_conn *conn;
+       const char *id_upper;
+       const char *conn_id;
+
+       if (!id || !*id)
+               return NULL;
+
+       /* Ignore leading zeros in needle */
+       while (*id == '0')
+               id++;
+
+       /* Use uppercase to compare identifiers, to avoid mismatches: RFC3435 
2.1.3.2 "Names of
+        * Connections" defines the id as a hex string, so clients may return 
lower case hex even though
+        * we sent upper case hex in the CRCX response. */
+       id_upper = osmo_str_toupper(id);
+
+       llist_for_each_entry(conn, &endp->conns, entry) {
+               /* Ignore leading zeros in haystack */
+               for (conn_id = conn->id; *conn_id == '0'; conn_id++);
+
+               if (strcmp(conn_id, id_upper) == 0)
+                       return conn;
+       }
+
+       return NULL;
+}
+
+/*! get oldest connection in the list.
+ *  \param[in] endp associated endpoint */
+struct mgcp_conn *mgcp_endp_get_conn_oldest(struct mgcp_endpoint *endp)
+{
+       if (llist_empty(&endp->conns))
+               return NULL;
+
+       return llist_last_entry(&endp->conns, struct mgcp_conn, entry);
+}
+
+/*! find an RTP connection by its ID.
+ *  \param[in] endp associated endpoint
+ *  \param[in] id identification number of the connection
+ *  \returns pointer to allocated connection, NULL if not found */
+struct mgcp_conn_rtp *mgcp_endp_get_conn_rtp(struct mgcp_endpoint *endp,
+                                       const char *id)
+{
+       struct mgcp_conn *conn;
+
+       conn = mgcp_endp_get_conn(endp, id);
+       if (!conn)
+               return NULL;
+
+       if (conn->type == MGCP_CONN_TYPE_RTP)
+               return &conn->u.rtp;
+
+       return NULL;
+}
+
 /*! release endpoint, all open connections are closed.
  *  \param[in] endp endpoint to release */
 void mgcp_endp_release(struct mgcp_endpoint *endp)
diff --git a/src/libosmo-mgcp/mgcp_msg.c b/src/libosmo-mgcp/mgcp_msg.c
index a46ffc2..5900a65 100644
--- a/src/libosmo-mgcp/mgcp_msg.c
+++ b/src/libosmo-mgcp/mgcp_msg.c
@@ -294,7 +294,7 @@
        }

        /* Check if connection exists */
-       if (mgcp_conn_get(endp, conn_id))
+       if (mgcp_endp_get_conn(endp, conn_id))
                return 0;

        LOGPENDP(endp, DLMGCP, LOGL_ERROR,
diff --git a/src/libosmo-mgcp/mgcp_protocol.c b/src/libosmo-mgcp/mgcp_protocol.c
index dbe6760..d166a4e 100644
--- a/src/libosmo-mgcp/mgcp_protocol.c
+++ b/src/libosmo-mgcp/mgcp_protocol.c
@@ -1022,7 +1022,7 @@
                goto error2;
        }

-       conn = mgcp_conn_get_rtp(endp, _conn->id);
+       conn = mgcp_endp_get_conn_rtp(endp, _conn->id);
        OSMO_ASSERT(conn);

        if (mgcp_parse_conn_mode(mode, endp, conn->conn) != 0) {
@@ -1237,7 +1237,7 @@
                return create_err_response(endp, endp, 515, "MDCX", 
pdata->trans);
        }

-       conn = mgcp_conn_get_rtp(endp, conn_id);
+       conn = mgcp_endp_get_conn_rtp(endp, conn_id);
        if (!conn) {
                rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, 
MGCP_MDCX_FAIL_CONN_NOT_FOUND));
                return create_err_response(endp, endp, 400, "MDCX", 
pdata->trans);
@@ -1475,7 +1475,7 @@
        }

        /* Find the connection */
-       conn = mgcp_conn_get_rtp(endp, conn_id);
+       conn = mgcp_endp_get_conn_rtp(endp, conn_id);
        if (!conn) {
                rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, 
MGCP_DLCX_FAIL_INVALID_CONNID));
                goto error3;
diff --git a/src/libosmo-mgcp/mgcp_vty.c b/src/libosmo-mgcp/mgcp_vty.c
index b82f3df..042841c 100644
--- a/src/libosmo-mgcp/mgcp_vty.c
+++ b/src/libosmo-mgcp/mgcp_vty.c
@@ -1418,7 +1418,7 @@
        endp = trunk->endpoints[endp_no];

        conn_id = argv[2];
-       conn = mgcp_conn_get_rtp(endp, conn_id);
+       conn = mgcp_endp_get_conn_rtp(endp, conn_id);
        if (!conn) {
                vty_out(vty, "Conn ID %s is invalid.%s",
                        conn_id, VTY_NEWLINE);
diff --git a/tests/mgcp/mgcp_test.c b/tests/mgcp/mgcp_test.c
index 44927e1..c257d6a 100644
--- a/tests/mgcp/mgcp_test.c
+++ b/tests/mgcp/mgcp_test.c
@@ -965,7 +965,7 @@
                        endp = mgcp_endp_by_name(NULL, last_endpoint, cfg);
                        OSMO_ASSERT(endp);

-                       conn = mgcp_conn_get_rtp(endp, "1");
+                       conn = mgcp_endp_get_conn_rtp(endp, "1");
                        if (conn) {
                                OSMO_ASSERT(conn);

@@ -1209,7 +1209,7 @@
                    mgcp_conn_alloc(NULL, &endp, MGCP_CONN_TYPE_RTP,
                                    "test-connection");
                OSMO_ASSERT(_conn);
-               conn = mgcp_conn_get_rtp(&endp, _conn->id);
+               conn = mgcp_endp_get_conn_rtp(&endp, _conn->id);
                OSMO_ASSERT(conn);
                state = &conn->state;
                packets_rx = rate_ctr_group_get_ctr(conn->ctrg, 
RTP_PACKETS_RX_CTR);
@@ -1461,7 +1461,7 @@
        _conn = mgcp_conn_alloc(NULL, &endp, MGCP_CONN_TYPE_RTP,
                                "test-connection");
        OSMO_ASSERT(_conn);
-       conn = mgcp_conn_get_rtp(&endp, _conn->id);
+       conn = mgcp_endp_get_conn_rtp(&endp, _conn->id);
        OSMO_ASSERT(conn);

        rtp = &conn->end;
@@ -1548,7 +1548,7 @@
        OSMO_ASSERT(strcmp(last_endpoint,"rtpbridge/1@mgw") == 0);
        endp = mgcp_endp_by_name(NULL, last_endpoint, cfg);
        OSMO_ASSERT(endp);
-       conn = mgcp_conn_get_rtp(endp, conn_id);
+       conn = mgcp_endp_get_conn_rtp(endp, conn_id);
        OSMO_ASSERT(conn);
        OSMO_ASSERT(conn->end.codec->payload_type == 18);
 
@@ -1564,7 +1564,7 @@
        OSMO_ASSERT(strcmp(last_endpoint,"rtpbridge/2@mgw") == 0);
        endp = mgcp_endp_by_name(NULL, last_endpoint, cfg);
        OSMO_ASSERT(endp);
-       conn = mgcp_conn_get_rtp(endp, conn_id);
+       conn = mgcp_endp_get_conn_rtp(endp, conn_id);
        OSMO_ASSERT(conn);
        OSMO_ASSERT(conn->end.codec->payload_type == 18);

@@ -1585,7 +1585,7 @@
        OSMO_ASSERT(strcmp(last_endpoint,"rtpbridge/3@mgw") == 0);
        endp = mgcp_endp_by_name(NULL, last_endpoint, cfg);
        OSMO_ASSERT(endp);
-       conn = mgcp_conn_get_rtp(endp, conn_id);
+       conn = mgcp_endp_get_conn_rtp(endp, conn_id);
        OSMO_ASSERT(conn);
        OSMO_ASSERT(conn->end.codec->payload_type == 0);

@@ -1601,7 +1601,7 @@
        OSMO_ASSERT(strcmp(last_endpoint,"rtpbridge/4@mgw") == 0);
        endp = mgcp_endp_by_name(NULL, last_endpoint, cfg);
        OSMO_ASSERT(endp);
-       conn = mgcp_conn_get_rtp(endp, conn_id);
+       conn = mgcp_endp_get_conn_rtp(endp, conn_id);
        OSMO_ASSERT(conn);
        OSMO_ASSERT(conn->end.codec->payload_type == 18);

@@ -1617,7 +1617,7 @@
        OSMO_ASSERT(strcmp(last_endpoint,"rtpbridge/5@mgw") == 0);
        endp = mgcp_endp_by_name(NULL, last_endpoint, cfg);
        OSMO_ASSERT(endp);
-       conn = mgcp_conn_get_rtp(endp, conn_id);
+       conn = mgcp_endp_get_conn_rtp(endp, conn_id);
        OSMO_ASSERT(conn);
        OSMO_ASSERT(conn->end.codec->payload_type == 0);

@@ -1629,7 +1629,7 @@
        OSMO_ASSERT(strcmp(last_endpoint,"rtpbridge/5@mgw") == 0);
        endp = mgcp_endp_by_name(NULL, last_endpoint, cfg);
        OSMO_ASSERT(endp);
-       conn = mgcp_conn_get_rtp(endp, conn_id);
+       conn = mgcp_endp_get_conn_rtp(endp, conn_id);
        OSMO_ASSERT(conn);
        OSMO_ASSERT(conn->end.codec->payload_type == 3);
        OSMO_ASSERT(osmo_sockaddr_port(&conn->end.addr.u.sa) == 16434);
@@ -1646,7 +1646,7 @@
        talloc_free(endp->last_response);
        talloc_free(endp->last_trans);
        endp->last_response = endp->last_trans = NULL;
-       conn = mgcp_conn_get_rtp(endp, conn_id);
+       conn = mgcp_endp_get_conn_rtp(endp, conn_id);
        OSMO_ASSERT(!conn);

        last_endpoint[0] = '\0';
@@ -1660,7 +1660,7 @@
        OSMO_ASSERT(strcmp(last_endpoint,"rtpbridge/5@mgw") == 0);
        endp = mgcp_endp_by_name(NULL, last_endpoint, cfg);
        OSMO_ASSERT(endp);
-       conn = mgcp_conn_get_rtp(endp, conn_id);
+       conn = mgcp_endp_get_conn_rtp(endp, conn_id);
        OSMO_ASSERT(conn);
        OSMO_ASSERT(conn->end.codec->payload_type == 0);

@@ -1689,7 +1689,7 @@
        _conn = mgcp_conn_alloc(NULL, endp, MGCP_CONN_TYPE_RTP,
                                "test-connection");
        OSMO_ASSERT(_conn);
-       conn = mgcp_conn_get_rtp(endp, _conn->id);
+       conn = mgcp_endp_get_conn_rtp(endp, _conn->id);
        OSMO_ASSERT(conn);

        OSMO_ASSERT(conn->state.stats.initialized == 0);
@@ -2332,7 +2332,7 @@
        for (i = 0; i < ARRAY_SIZE(conn_id_request); i++) {
                const char *needle = conn_id_request[i];
                printf("needle='%s' ", needle);
-               conn_match = mgcp_conn_get(&endp, needle);
+               conn_match = mgcp_endp_get_conn(&endp, needle);
                OSMO_ASSERT(conn_match);
                printf("found '%s'\n", conn_match->id);
                OSMO_ASSERT(conn_match == conn);

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

Gerrit-MessageType: newchange
Gerrit-Project: osmo-mgw
Gerrit-Branch: master
Gerrit-Change-Id: Ifff01331db68998e9e23f99d8836d96022d550c2
Gerrit-Change-Number: 39184
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <[email protected]>

Reply via email to