This commit is contained in:
Dmitry Zuikov 2023-07-14 16:27:06 +03:00
parent 208a2a0644
commit 82aa6576b5
4 changed files with 41 additions and 2 deletions

View File

@ -102,10 +102,10 @@ refChanHeadProto self adapter msg = do
auth <- find (KnownPeerKey peer) id <&> isJust
guard (auth || self)
void $ runMaybeT do
guard (auth || self)
case msg of
RefChanHead pkt _ -> do
trace $ "RefChanHead" <+> pretty self

View File

@ -51,6 +51,7 @@ import HttpWorker
import ProxyMessaging
import PeerMeta
import CLI.RefChan
import RefChan
import Codec.Serialise
-- import Control.Concurrent.Async
@ -782,6 +783,9 @@ runPeer opts = U.handle (\e -> myException e
peerThread "reflogWorker" (reflogWorker @e conf rwa)
-- FIXME: reflogWorker-env
peerThread "refChanWorker" (refChanWorker @e)
peerThread "ping pong" $ forever $ do
cmd <- liftIO $ atomically $ readTQueue rpcQ
case cmd of

34
hbs2-peer/app/RefChan.hs Normal file
View File

@ -0,0 +1,34 @@
{-# Language AllowAmbiguousTypes #-}
module RefChan where
import HBS2.Prelude.Plated
import HBS2.Actors.Peer
import HBS2.Base58
import HBS2.Clock
import HBS2.Data.Types.Refs
import HBS2.Net.Auth.Credentials
import HBS2.Net.Proto.RefChan
import HBS2.Net.Proto.Types
import HBS2.System.Logger.Simple
import PeerTypes
import PeerConfig
import Control.Monad
refChanWorker :: forall e s m . ( MonadIO m, MyPeer e
, HasStorage m
, Signatures s
, s ~ Encryption e
, IsRefPubKey s
, Pretty (AsBase58 (PubKey 'Sign s))
)
=> m ()
refChanWorker = forever do
pause @'Seconds 10
debug "I'm refchan worker"

View File

@ -127,6 +127,7 @@ executable hbs2-peer
, PeerTypes
, PeerConfig
, RefLog
, RefChan
, CheckMetrics
, HttpWorker
, Brains