From e7a6435407b1a7bdd2063d32e64a2328254e86da Mon Sep 17 00:00:00 2001 From: Gabriel mermelstein Date: Wed, 16 Apr 2025 11:47:17 +0300 Subject: [PATCH] adding startPeriodicTasks request --- library/libsds.h | 2 ++ library/libsds.nim | 12 ++++++++++++ .../requests/sds_lifecycle_request.nim | 3 +++ 3 files changed, 17 insertions(+) diff --git a/library/libsds.h b/library/libsds.h index 63a16c8..044151a 100644 --- a/library/libsds.h +++ b/library/libsds.h @@ -51,6 +51,8 @@ int MarkDependenciesMet(void* ctx, SdsCallBack callback, void* userData); +int StartPeriodicTasks(void* ctx, SdsCallBack callback, void* userData); + #ifdef __cplusplus diff --git a/library/libsds.nim b/library/libsds.nim index cecfdf5..895a960 100644 --- a/library/libsds.nim +++ b/library/libsds.nim @@ -301,5 +301,17 @@ proc MarkDependenciesMet( userData, ) +proc StartPeriodicTasks( + ctx: ptr SdsContext, callback: SdsCallBack, userData: pointer +): cint {.dynlib, exportc.} = + checkLibsdsParams(ctx, callback, userData) + handleRequest( + ctx, + RequestType.LIFECYCLE, + SdsLifecycleRequest.createShared(SdsLifecycleMsgType.START_PERIODIC_TASKS), + callback, + userData, + ) + ### End of exported procs ################################################################################ diff --git a/library/sds_thread/inter_thread_communication/requests/sds_lifecycle_request.nim b/library/sds_thread/inter_thread_communication/requests/sds_lifecycle_request.nim index a70ab3a..ce90d2f 100644 --- a/library/sds_thread/inter_thread_communication/requests/sds_lifecycle_request.nim +++ b/library/sds_thread/inter_thread_communication/requests/sds_lifecycle_request.nim @@ -7,6 +7,7 @@ import ../../../../src/[reliability_utils, reliability, message] type SdsLifecycleMsgType* = enum CREATE_RELIABILITY_MANAGER RESET_RELIABILITY_MANAGER + START_PERIODIC_TASKS type SdsLifecycleRequest* = object operation: SdsLifecycleMsgType @@ -62,5 +63,7 @@ proc process*( of RESET_RELIABILITY_MANAGER: resetReliabilityManager(rm[]).isOkOr: return err("error processing RESET_RELIABILITY_MANAGER request: " & $error) + of START_PERIODIC_TASKS: + rm[].startPeriodicTasks() return ok("")