Skip to content

Commit

Permalink
Merge pull request #9 from input-output-hk/dummy-peer
Browse files Browse the repository at this point in the history
Dummy version of the peer
  • Loading branch information
deepfire committed Sep 30, 2022
2 parents 6b5874c + df76a86 commit 665f66b
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 1 deletion.
26 changes: 25 additions & 1 deletion src/System/Metrics/Network/Forwarder.hs
@@ -1,15 +1,19 @@
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE PackageImports #-}
{-# LANGUAGE RecordWildCards #-}

module System.Metrics.Network.Forwarder
( connectToAcceptor
-- | Export this function for Mux purpose.
, forwardEKGMetrics
, forwardEKGMetricsDummy
, forwardEKGMetricsResp
, forwardEKGMetricsRespDummy
) where

import Codec.CBOR.Term (Term)
import qualified Codec.Serialise as CBOR
import "contra-tracer" Control.Tracer (nullTracer)
import qualified Data.ByteString.Lazy as LBS
import qualified Data.Text as T
import Data.Void (Void)
Expand All @@ -34,7 +38,7 @@ import Ouroboros.Network.Socket (connectToNode, nullNetworkConnectTrac
import qualified System.Metrics as EKG

import System.Metrics.Configuration (ForwarderConfiguration (..), HowToConnect (..))
import System.Metrics.Store.Forwarder (mkResponse)
import System.Metrics.Store.Forwarder (mkResponse, mkResponseDummy)
import qualified System.Metrics.Protocol.Forwarder as Forwarder
import qualified System.Metrics.Protocol.Codec as Forwarder

Expand Down Expand Up @@ -113,3 +117,23 @@ forwardEKGMetricsResp config ekgStore =
(Forwarder.codecEKGForward CBOR.encode CBOR.decode
CBOR.encode CBOR.decode)
(Forwarder.ekgForwarderPeer $ mkResponse config ekgStore)

forwardEKGMetricsDummy
:: RunMiniProtocol 'InitiatorMode LBS.ByteString IO () Void
forwardEKGMetricsDummy =
InitiatorProtocolOnly $
MuxPeer
nullTracer
(Forwarder.codecEKGForward CBOR.encode CBOR.decode
CBOR.encode CBOR.decode)
(Forwarder.ekgForwarderPeer mkResponseDummy)

forwardEKGMetricsRespDummy
:: RunMiniProtocol 'ResponderMode LBS.ByteString IO Void ()
forwardEKGMetricsRespDummy =
ResponderProtocolOnly $
MuxPeer
nullTracer
(Forwarder.codecEKGForward CBOR.encode CBOR.decode
CBOR.encode CBOR.decode)
(Forwarder.ekgForwarderPeer mkResponseDummy)
9 changes: 9 additions & 0 deletions src/System/Metrics/Store/Forwarder.hs
Expand Up @@ -3,6 +3,7 @@

module System.Metrics.Store.Forwarder
( mkResponse
, mkResponseDummy
) where

import qualified Data.HashMap.Strict as HM
Expand Down Expand Up @@ -61,3 +62,11 @@ filterMetricsWeNeed mNames (mName, ekgValue) =
where
onlyIfNeeded value =
if mName `elem` mNames then Just (mName, value) else Nothing

mkResponseDummy
:: Forwarder.EKGForwarder Request Response IO ()
mkResponseDummy =
Forwarder.EKGForwarder
{ Forwarder.recvMsgReq = const $ return (ResponseMetrics [], mkResponseDummy)
, Forwarder.recvMsgDone = return ()
}

0 comments on commit 665f66b

Please sign in to comment.