mirror of
https://github.com/outbackdingo/parodus.git
synced 2026-01-27 18:20:04 +00:00
Compare commits
9 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e3815115af | ||
|
|
6dcabbcf5f | ||
|
|
6782ae7868 | ||
|
|
e274b572dd | ||
|
|
4107159696 | ||
|
|
94531a3faa | ||
|
|
373acb170a | ||
|
|
262a23e00e | ||
|
|
193706c21c |
21
.github/workflows/push.yml
vendored
21
.github/workflows/push.yml
vendored
@@ -4,7 +4,7 @@
|
||||
name: CI
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
pull_request_target:
|
||||
push:
|
||||
paths-ignore:
|
||||
- 'AUTHORS'
|
||||
@@ -24,7 +24,7 @@ jobs:
|
||||
runs-on: [ ubuntu-latest ]
|
||||
steps:
|
||||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
@@ -38,11 +38,9 @@ jobs:
|
||||
- name: Make Build Directory
|
||||
run: mkdir build
|
||||
|
||||
- name: Get Sonarcloud Binaries
|
||||
working-directory: build
|
||||
run: |
|
||||
../.github/scripts/get_sonarcloud.sh
|
||||
|
||||
- name: Install sonar-scanner and build-wrapper
|
||||
uses: sonarsource/sonarcloud-github-c-cpp@v2
|
||||
|
||||
- name: CMake
|
||||
working-directory: build
|
||||
run: |
|
||||
@@ -52,7 +50,7 @@ jobs:
|
||||
- name: Build
|
||||
working-directory: build
|
||||
run: |
|
||||
build-wrapper-linux-x86/build-wrapper-linux-x86-64 --out-dir bw-output make all test
|
||||
build-wrapper-linux-x86-64 --out-dir bw-output make all test
|
||||
|
||||
- name: Merge GCOV Reports for Sonarcloud
|
||||
working-directory: build
|
||||
@@ -66,7 +64,8 @@ jobs:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Upload Codecov.io
|
||||
uses: codecov/codecov-action@v1
|
||||
uses: codecov/codecov-action@e28ff129e5465c2c0dcc6f003fc735cb6ae0c673 # v4.5.0
|
||||
with:
|
||||
directory: .
|
||||
fail_ci_if_error: true
|
||||
directory: .
|
||||
flags: unittests
|
||||
fail_ci_if_error: true
|
||||
15
CHANGELOG.md
15
CHANGELOG.md
@@ -5,12 +5,12 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
|
||||
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
|
||||
|
||||
## [Unreleased]
|
||||
- Add additional HTTP headers for call to Themis from Convey
|
||||
- Add callback handler for initial cloud connection status change event
|
||||
- Fix Parodus connection stuck on interface up down received together
|
||||
- Update to use nopoll version 1.0.3
|
||||
|
||||
## [1.1.4]
|
||||
## [v1.1.5]
|
||||
- Add additional HTTP headers for call to Themis from Convey
|
||||
- Change default branch name to `main`
|
||||
|
||||
## [v1.1.4]
|
||||
- on connect retry, requery jwt only if it failed before
|
||||
- put two timestamps in connection health file; start conn and current
|
||||
- change health file update interval to 240sec
|
||||
@@ -105,8 +105,9 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
|
||||
### Added
|
||||
- Initial creation
|
||||
|
||||
[Unreleased]: https://github.com/Comcast/parodus/compare/1.1.4...HEAD
|
||||
[1.1.4]: https://github.com/Comcast/parodus/compare/1.1.3...1.1.4
|
||||
[Unreleased]: https://github.com/Comcast/parodus/compare/v1.1.5...HEAD
|
||||
[1.1.5]: https://github.com/Comcast/parodus/compare/v1.1.4...v1.1.5
|
||||
[1.1.4]: https://github.com/Comcast/parodus/compare/1.1.3...v1.1.4
|
||||
[1.1.3]: https://github.com/Comcast/parodus/compare/1.1.2...1.1.3
|
||||
[1.1.2]: https://github.com/Comcast/parodus/compare/1.1.1...1.1.2
|
||||
[1.1.1]: https://github.com/Comcast/parodus/compare/1.0.4...1.1.1
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
|
||||
cmake_minimum_required(VERSION 2.8.7)
|
||||
|
||||
#project(parodus VERSION 1.1.15)
|
||||
#project(parodus VERSION 1.1.5)
|
||||
project(parodus)
|
||||
|
||||
include(ExternalProject)
|
||||
@@ -86,7 +86,7 @@ add_dependencies(libtrower-base64 trower-base64)
|
||||
ExternalProject_Add(nopoll
|
||||
PREFIX ${PREFIX_DIR}/nopoll
|
||||
GIT_REPOSITORY https://github.com/Comcast/nopoll.git
|
||||
GIT_TAG "1.0.3"
|
||||
GIT_TAG "1.0.2"
|
||||
CONFIGURE_COMMAND COMMAND <SOURCE_DIR>/autogen.sh --prefix=${PREFIX}
|
||||
--includedir=${INCLUDE_DIR}
|
||||
--libdir=${LIBRARY_DIR}
|
||||
|
||||
@@ -195,8 +195,7 @@ void createSocketConnection(void (* initKeypress)())
|
||||
}
|
||||
createNopollConnection(ctx, &server_list);
|
||||
}
|
||||
//process exit only when g_shutdown is true.
|
||||
} while(FOREVER() && !g_shutdown);
|
||||
} while(!get_close_retry() && !g_shutdown);
|
||||
|
||||
pthread_mutex_lock (get_global_svc_mut());
|
||||
pthread_cond_signal (get_global_svc_con());
|
||||
|
||||
@@ -62,8 +62,6 @@ enum {
|
||||
/* File Scoped Variables */
|
||||
/*----------------------------------------------------------------------------*/
|
||||
|
||||
parodusOnConnStatusChangeHandler on_conn_status_change;
|
||||
|
||||
parodusOnPingStatusChangeHandler on_ping_status_change;
|
||||
|
||||
pthread_mutex_t backoff_delay_mut=PTHREAD_MUTEX_INITIALIZER;
|
||||
@@ -699,8 +697,7 @@ int wait_while_interface_down()
|
||||
if (rtn != 0)
|
||||
ParodusError
|
||||
("Error on pthread_cond_wait (%d) in wait_while_interface_down\n", rtn);
|
||||
if (g_shutdown) {
|
||||
ParodusInfo("Received g_shutdown during interface down wait, returning\n");
|
||||
if ((rtn != 0) || g_shutdown) {
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
@@ -720,7 +717,6 @@ int createNopollConnection(noPollCtx *ctx, server_list_t *server_list)
|
||||
struct timespec connect_time,*connectTimePtr;
|
||||
connectTimePtr = &connect_time;
|
||||
backoff_timer_t backoff_timer;
|
||||
static int init_conn_failure=1;
|
||||
|
||||
if(ctx == NULL) {
|
||||
return nopoll_false;
|
||||
@@ -756,14 +752,6 @@ int createNopollConnection(noPollCtx *ctx, server_list_t *server_list)
|
||||
}
|
||||
/* if we failed to connect, don't reuse the redirect server */
|
||||
free_server (&conn_ctx.server_list->redirect);
|
||||
|
||||
/* On initial connect failure, invoke conn status change event as "failed" only 1 time*/
|
||||
if((NULL != on_conn_status_change) && init && init_conn_failure)
|
||||
{
|
||||
on_conn_status_change("failed");
|
||||
init_conn_failure=0;
|
||||
}
|
||||
|
||||
#ifdef FEATURE_DNS_QUERY
|
||||
/* if we don't already have a valid jwt, look up server information */
|
||||
if (server_is_null (&conn_ctx.server_list->jwt))
|
||||
@@ -788,12 +776,6 @@ int createNopollConnection(noPollCtx *ctx, server_list_t *server_list)
|
||||
get_parodus_cfg()->cloud_status = CLOUD_STATUS_ONLINE;
|
||||
ParodusInfo("cloud_status set as %s after successful connection\n", get_parodus_cfg()->cloud_status);
|
||||
|
||||
/* On initial connect success, invoke conn status change event as "success" */
|
||||
if((NULL != on_conn_status_change) && init)
|
||||
{
|
||||
on_conn_status_change("success");
|
||||
}
|
||||
|
||||
// Invoke the ping status change event callback as "received" ping
|
||||
if(NULL != on_ping_status_change)
|
||||
{
|
||||
@@ -952,8 +934,3 @@ void registerParodusOnPingStatusChangeHandler(parodusOnPingStatusChangeHandler c
|
||||
on_ping_status_change = callback_func;
|
||||
}
|
||||
|
||||
void registerParodusOnConnStatusChangeHandler(parodusOnConnStatusChangeHandler callback_func)
|
||||
{
|
||||
on_conn_status_change = callback_func;
|
||||
}
|
||||
|
||||
|
||||
@@ -37,15 +37,6 @@ extern "C" {
|
||||
#define SHUTDOWN_REASON_SYSTEM_RESTART "system_restarting"
|
||||
#define SHUTDOWN_REASON_SIGTERM "SIGTERM"
|
||||
|
||||
/**
|
||||
* parodusOnConnStatusChangeHandler - Function pointer
|
||||
* Used to define callback function to do additional processing
|
||||
* when websocket cloud connection status change event
|
||||
* i.e. "cloud-conn-status" as "fail" or "success"
|
||||
*/
|
||||
typedef void (*parodusOnConnStatusChangeHandler) (char * status);
|
||||
extern parodusOnConnStatusChangeHandler on_conn_status_change;
|
||||
|
||||
/**
|
||||
* parodusOnPingStatusChangeHandler - Function pointer
|
||||
* Used to define callback function to do additional processing
|
||||
@@ -88,9 +79,6 @@ void set_cloud_disconnect_time(int disconnTime);
|
||||
void start_conn_in_progress (unsigned long start_time);
|
||||
void stop_conn_in_progress (void);
|
||||
|
||||
// To Register parodusOnConnStatusChangeHandler Callback function
|
||||
void registerParodusOnConnStatusChangeHandler(parodusOnConnStatusChangeHandler on_conn_status_change);
|
||||
|
||||
// To Register parodusOnPingStatusChangeHandler Callback function
|
||||
void registerParodusOnPingStatusChangeHandler(parodusOnPingStatusChangeHandler on_ping_status_change);
|
||||
|
||||
|
||||
@@ -44,7 +44,7 @@ pthread_mutex_t svc_mut=PTHREAD_MUTEX_INITIALIZER;
|
||||
pthread_cond_t svc_con=PTHREAD_COND_INITIALIZER;
|
||||
int numLoops;
|
||||
parodusOnPingStatusChangeHandler on_ping_status_change;
|
||||
|
||||
|
||||
/*----------------------------------------------------------------------------*/
|
||||
/* Mocks */
|
||||
/*----------------------------------------------------------------------------*/
|
||||
@@ -335,7 +335,6 @@ void test_createSocketConnection()
|
||||
|
||||
void test_createSocketConnection1()
|
||||
{
|
||||
numLoops =0;
|
||||
noPollCtx *ctx;
|
||||
ParodusCfg cfg;
|
||||
memset(&cfg,0, sizeof(ParodusCfg));
|
||||
@@ -365,11 +364,11 @@ void test_createSocketConnection1()
|
||||
expect_function_call(nopoll_ctx_unref);
|
||||
expect_function_call(nopoll_cleanup_library);
|
||||
createSocketConnection(NULL);
|
||||
|
||||
}
|
||||
|
||||
void test_PingMissIntervalTime()
|
||||
{
|
||||
numLoops = 6;
|
||||
noPollCtx *ctx;
|
||||
ParodusCfg cfg;
|
||||
memset(&cfg,0,sizeof(ParodusCfg));
|
||||
@@ -387,6 +386,7 @@ void test_PingMissIntervalTime()
|
||||
//Max ping timeout is 6 sec
|
||||
cfg.webpa_ping_timeout = 6;
|
||||
set_parodus_cfg(&cfg);
|
||||
|
||||
reset_close_retry();
|
||||
expect_function_call(nopoll_thread_handlers);
|
||||
|
||||
@@ -422,11 +422,11 @@ void test_PingMissIntervalTime()
|
||||
expect_function_call(nopoll_ctx_unref);
|
||||
expect_function_call(nopoll_cleanup_library);
|
||||
createSocketConnection(NULL);
|
||||
|
||||
}
|
||||
|
||||
void err_createSocketConnection()
|
||||
{
|
||||
numLoops =0;
|
||||
set_close_retry();
|
||||
reset_heartBeatTimer();
|
||||
expect_function_call(nopoll_thread_handlers);
|
||||
@@ -459,7 +459,6 @@ void err_createSocketConnection()
|
||||
|
||||
void test_createSocketConnection_cloud_disconn()
|
||||
{
|
||||
numLoops =0;
|
||||
ParodusCfg cfg;
|
||||
memset(&cfg,0,sizeof(ParodusCfg));
|
||||
cfg.cloud_disconnect = strdup("XPC");
|
||||
|
||||
Reference in New Issue
Block a user