pespin has submitted this change. (
https://gerrit.osmocom.org/c/libosmo-netif/+/38925?usp=email )
Change subject: stream_cli: Move osmo_stream_cli_close() before
osmo_stream_cli_reconnect()
......................................................................
stream_cli: Move osmo_stream_cli_close() before osmo_stream_cli_reconnect()
The reconnect function is also calling the disconnect_cb() callback
through making use of osmo_stream_cli_close().
Hence, put the close() function further up in the file following the
dependency chaing, allowing removal of an extra declaration.
It also helps in seeing the whole related code together.
Furthermore, those functions will be split in a follow-up commit into
private helper functions so the order will become more relevant due to
being static and not appearing in a header file.
Change-Id: Ib7a7655f6a8aa45793ad8a43961f161c74d22e33
---
M src/stream_cli.c
1 file changed, 39 insertions(+), 41 deletions(-)
Approvals:
Jenkins Builder: Verified
daniel: Looks good to me, approved
laforge: Looks good to me, but someone else must approve
diff --git a/src/stream_cli.c b/src/stream_cli.c
index b7ca9fd..9fc8101 100644
--- a/src/stream_cli.c
+++ b/src/stream_cli.c
@@ -116,51 +116,10 @@
struct osmo_sock_init2_multiaddr_pars ma_pars;
};
-void osmo_stream_cli_close(struct osmo_stream_cli *cli);
-
/*! \addtogroup stream_cli
* @{
*/
-/*! Re-connect an Osmocom Stream Client.
- * If re-connection is enabled for this client
- * (which is the case unless negative timeout was explicitly set via
osmo_stream_cli_set_reconnect_timeout() call),
- * we close any existing connection (if any) and schedule a re-connect timer */
-void osmo_stream_cli_reconnect(struct osmo_stream_cli *cli)
-{
- osmo_stream_cli_close(cli);
-
- if (cli->reconnect_timeout < 0) {
- LOGSCLI(cli, LOGL_INFO, "not reconnecting, disabled\n");
- return;
- }
-
- cli->state = STREAM_CLI_STATE_WAIT_RECONNECT;
- LOGSCLI(cli, LOGL_INFO, "retrying reconnect in %d seconds...\n",
- cli->reconnect_timeout);
- osmo_timer_schedule(&cli->timer, cli->reconnect_timeout, 0);
-}
-
-/*! Check if Osmocom Stream Client is in connected state.
- * \param[in] cli Osmocom Stream Client
- * \return true if connected, false otherwise
- */
-bool osmo_stream_cli_is_connected(struct osmo_stream_cli *cli)
-{
- return cli->state == STREAM_CLI_STATE_CONNECTED;
-}
-
-/*! Check if Osmocom Stream Client is opened (has an FD available) according to
- * its current state.
- * \param[in] cli Osmocom Stream Client
- * \return true if fd is available (osmo_stream_cli_get_fd()), false otherwise
- */
-static bool stream_cli_is_opened(const struct osmo_stream_cli *cli)
-{
- return cli->state == STREAM_CLI_STATE_CONNECTING ||
- cli->state == STREAM_CLI_STATE_CONNECTED;
-}
-
static void stream_cli_close_iofd(struct osmo_stream_cli *cli)
{
if (!cli->iofd)
@@ -219,6 +178,45 @@
}
}
+/*! Re-connect an Osmocom Stream Client.
+ * If re-connection is enabled for this client
+ * (which is the case unless negative timeout was explicitly set via
osmo_stream_cli_set_reconnect_timeout() call),
+ * we close any existing connection (if any) and schedule a re-connect timer */
+void osmo_stream_cli_reconnect(struct osmo_stream_cli *cli)
+{
+ osmo_stream_cli_close(cli);
+
+ if (cli->reconnect_timeout < 0) {
+ LOGSCLI(cli, LOGL_INFO, "not reconnecting, disabled\n");
+ return;
+ }
+
+ cli->state = STREAM_CLI_STATE_WAIT_RECONNECT;
+ LOGSCLI(cli, LOGL_INFO, "retrying reconnect in %d seconds...\n",
+ cli->reconnect_timeout);
+ osmo_timer_schedule(&cli->timer, cli->reconnect_timeout, 0);
+}
+
+/*! Check if Osmocom Stream Client is in connected state.
+ * \param[in] cli Osmocom Stream Client
+ * \return true if connected, false otherwise
+ */
+bool osmo_stream_cli_is_connected(struct osmo_stream_cli *cli)
+{
+ return cli->state == STREAM_CLI_STATE_CONNECTED;
+}
+
+/*! Check if Osmocom Stream Client is opened (has an FD available) according to
+ * its current state.
+ * \param[in] cli Osmocom Stream Client
+ * \return true if fd is available (osmo_stream_cli_get_fd()), false otherwise
+ */
+static bool stream_cli_is_opened(const struct osmo_stream_cli *cli)
+{
+ return cli->state == STREAM_CLI_STATE_CONNECTING ||
+ cli->state == STREAM_CLI_STATE_CONNECTED;
+}
+
/*! Retrieve file descriptor of the stream client socket.
* \param[in] cli Stream Client of which we want to obtain the file descriptor
* \returns File descriptor or negative in case of error */
--
To view, visit
https://gerrit.osmocom.org/c/libosmo-netif/+/38925?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: merged
Gerrit-Project: libosmo-netif
Gerrit-Branch: master
Gerrit-Change-Id: Ib7a7655f6a8aa45793ad8a43961f161c74d22e33
Gerrit-Change-Number: 38925
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: daniel <dwillmann(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>