From a3d0619bc2039158b1a743513570150155b02563 Mon Sep 17 00:00:00 2001 From: Helmut Merz Date: Tue, 23 Sep 2025 09:44:59 +0200 Subject: [PATCH] msgstore: starting replay stuff with first simple version of replay-id --- storage/msgstore.lisp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/storage/msgstore.lisp b/storage/msgstore.lisp index 01926d6..14a8c47 100644 --- a/storage/msgstore.lisp +++ b/storage/msgstore.lisp @@ -2,11 +2,15 @@ (defpackage :scopes/storage/msgstore (:use :common-lisp) - (:local-nicknames (:message :scopes/core/message) + (:local-nicknames (:actor :scopes/core/actor) + (:core :scopes/core) + (:message :scopes/core/message) (:shape :scopes/shape) (:storage :scopes/storage) (:tracking :scopes/storage/tracking)) - (:export #:make-container #:save)) + (:export #:make-container #:save + #:replay-id + )) (in-package :scopes/storage/msgstore) @@ -30,3 +34,9 @@ :head (shape:head msg) :data (shape:data msg) :container cont))) (tracking:save pm))) + +(defun replay-id (ctx msgid rcvr) + (let* ((st (storage:storage ctx)) + (cont (make-container st)) + (msg (tracking:get-track cont msgid))) + (actor:send (core:find-service rcvr) msg)))