Skip to content

Commit

Permalink
Refactored code to use Typeclasses and accomodate integration
Browse files Browse the repository at this point in the history
with IOSim

Added some haddocks and stylished the code better

Added auxiliary IO DNS function exports and make Simple.hs compile

Added necessary changes to Diffusion.hs.

Rebase with master-diffusion-arguments

Simplified RootPeerDNS changes

NOTE: See if we can/should monomorphize resolveDomainAddresses
  • Loading branch information
bolt12 committed May 13, 2021
1 parent 9c60d1c commit 5b454ff
Show file tree
Hide file tree
Showing 5 changed files with 206 additions and 75 deletions.
1 change: 1 addition & 0 deletions ouroboros-network/ouroboros-network.cabal
Expand Up @@ -269,6 +269,7 @@ test-suite test
Test.Ouroboros.Network.PeerSelection
Test.Ouroboros.Network.PeerSelection.Instances
Test.Ouroboros.Network.PeerSelection.LocalRootPeers
Test.Ouroboros.Network.PeerSelection.RootPeerDNS
Test.Ouroboros.Network.PeerSelection.Json
Test.Ouroboros.Network.PeerSelection.MockEnvironment
Test.Ouroboros.Network.PeerSelection.PeerGraph
Expand Down
17 changes: 16 additions & 1 deletion ouroboros-network/src/Ouroboros/Network/Diffusion.hs
Expand Up @@ -95,6 +95,13 @@ import Ouroboros.Network.PeerSelection.RootPeersDNS ( resolveDomainAdd
, RelayAddress(..)
, TraceLocalRootPeers(..)
, TracePublicRootPeers(..)
, DNSActions (..)
, resolverResource
, asyncResolverResource
#if defined(mingw32_HOST_OS)
, newResolverResource
#endif
, lookupAWithTTL
)
import qualified Ouroboros.Network.PeerSelection.Governor as Governor
import Ouroboros.Network.PeerSelection.Governor.Types ( TracePeerSelection (..)
Expand Down Expand Up @@ -171,7 +178,7 @@ data DiffusionTracers = DiffusionTracers {
:: Tracer IO NodeToNode.HandshakeTr

, dtTraceLocalRootPeersTracer
:: Tracer IO TraceLocalRootPeers
:: Tracer IO (TraceLocalRootPeers IOException)

, dtTracePublicRootPeersTracer
:: Tracer IO TracePublicRootPeers
Expand Down Expand Up @@ -762,6 +769,14 @@ runDataDiffusion tracers
dtTracePublicRootPeersTracer
timeout
DNS.defaultResolvConf
DNSActions {
dnsResolverResource = resolverResource,
dnsAsyncResolverResource = asyncResolverResource,
#if defined(mingw32_HOST_OS)
dnsNewResolverResource = newResolverResource,
#endif
dnsLookupAWithTTL = lookupAWithTTL
}
)
(takeTMVar ledgerPeersReq)
(putTMVar ledgerPeersRsp)
Expand Down

0 comments on commit 5b454ff

Please sign in to comment.