mirror of
https://github.com/logos-messaging/nim-sds.git
synced 2026-01-07 16:43:07 +00:00
rest of event definitions
This commit is contained in:
parent
521ac4a3bf
commit
0999f44366
21
library/events/json_missing_dependencies_event.nim
Normal file
21
library/events/json_missing_dependencies_event.nim
Normal file
@ -0,0 +1,21 @@
|
||||
import std/json
|
||||
import ./json_base_event, ../../src/[message]
|
||||
|
||||
type JsonMissingDependenciesEvent* = ref object of JsonEvent
|
||||
messageId*: MessageID
|
||||
missingDeps: seq[MessageID]
|
||||
|
||||
proc new*(
|
||||
T: type JsonMissingDependenciesEvent,
|
||||
messageId: MessageID,
|
||||
missingDeps: seq[MessageID],
|
||||
): T =
|
||||
# Returns a MissingDependencies event as indicated in
|
||||
# https://rfc.vac.dev/spec/36/#jsonmessageevent-type
|
||||
|
||||
return JsonMissingDependenciesEvent(
|
||||
eventType: "missing_dependencies", messageId: messageId, missingDeps: missingDeps
|
||||
)
|
||||
|
||||
method `$`*(jsonMissingDependencies: JsonMissingDependenciesEvent): string =
|
||||
$(%*jsonMissingDependencies)
|
||||
13
library/events/json_periodic_sync_event.nim
Normal file
13
library/events/json_periodic_sync_event.nim
Normal file
@ -0,0 +1,13 @@
|
||||
import std/json
|
||||
import ./json_base_event
|
||||
|
||||
type JsonPeriodicSyncEvent* = ref object of JsonEvent
|
||||
|
||||
proc new*(T: type JsonPeriodicSyncEvent): T =
|
||||
# Returns a PeriodicSync event as indicated in
|
||||
# https://rfc.vac.dev/spec/36/#jsonmessageevent-type
|
||||
|
||||
return JsonPeriodicSyncEvent(eventType: "periodic_sync")
|
||||
|
||||
method `$`*(jsonPeriodicSync: JsonPeriodicSyncEvent): string =
|
||||
$(%*jsonPeriodicSync)
|
||||
@ -14,7 +14,10 @@ import
|
||||
./sds_thread/inter_thread_communication/requests/
|
||||
[sds_lifecycle_request, sds_message_request, sds_dependencies_request],
|
||||
../src/[reliability, reliability_utils, message],
|
||||
./events/[json_message_ready_event, json_message_sent_event]
|
||||
./events/[
|
||||
json_message_ready_event, json_message_sent_event, json_missing_dependencies_event,
|
||||
json_periodic_sync_event,
|
||||
]
|
||||
|
||||
################################################################################
|
||||
### Wrapper around the reliability manager
|
||||
@ -78,6 +81,16 @@ proc onMessageSent(ctx: ptr SdsContext): MessageSentCallback =
|
||||
callEventCallback(ctx, "onMessageSent"):
|
||||
$JsonMessageSentEvent.new(messageId)
|
||||
|
||||
proc onMissingDependencies(ctx: ptr SdsContext): MissingDependenciesCallback =
|
||||
return proc(messageId: MessageID, missingDeps: seq[MessageID]) {.gcsafe.} =
|
||||
callEventCallback(ctx, "onMissingDependencies"):
|
||||
$JsonMissingDependenciesEvent.new(messageId, missingDeps)
|
||||
|
||||
proc onPeriodicSync(ctx: ptr SdsContext): PeriodicSyncCallback =
|
||||
return proc() {.gcsafe.} =
|
||||
callEventCallback(ctx, "onPeriodicSync"):
|
||||
$JsonPeriodicSyncEvent.new()
|
||||
|
||||
### End of not-exported components
|
||||
################################################################################
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user