Skip to content

Commit f25f3eb

Browse files
committed
getSocketOrSocketInfoAddr refactoring
Return list of SockAddr instead of `SocketOrSocketInfo SockAddr SockAddr`; Also refactored `SocketOrSocketInfo` type.
1 parent d0dcd9b commit f25f3eb

File tree

4 files changed

+26
-26
lines changed

4 files changed

+26
-26
lines changed

cardano-node/src/Cardano/Node/Configuration/Socket.hs

+15-10
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@
55
module Cardano.Node.Configuration.Socket
66
( SocketConfig (..)
77
, gatherConfiguredSockets
8-
, SocketOrSocketInfo(..)
8+
, SocketOrSocketInfo' (..)
9+
, SocketOrSocketInfo
10+
, LocalSocketOrSocketInfo
911
, getSocketOrSocketInfoAddr
1012
, SocketConfigError(..)
1113
, renderSocketConfigError
@@ -19,7 +21,7 @@ import qualified Prelude
1921
import Control.Monad.Trans.Except.Extra (handleIOExceptT)
2022
import Generic.Data.Orphans ()
2123
import Network.Socket (AddrInfo (..), AddrInfoFlag (..), Family (AF_INET, AF_INET6),
22-
SockAddr, Socket, SocketType (..))
24+
Socket, SocketType (..))
2325
import qualified Network.Socket as Socket
2426

2527
import Cardano.Node.Configuration.NodeAddress
@@ -42,18 +44,21 @@ import System.Systemd.Daemon (getActivatedSockets)
4244
-- given actual already-constructed sockets, or the info needed to make new
4345
-- sockets later.
4446
--
45-
data SocketOrSocketInfo socket info =
47+
data SocketOrSocketInfo' socket info =
4648
ActualSocket socket
4749
| SocketInfo info
4850
deriving Show
4951

52+
type SocketOrSocketInfo = SocketOrSocketInfo' Socket Socket.SockAddr
53+
type LocalSocketOrSocketInfo = SocketOrSocketInfo' LocalSocket LocalAddress
5054

51-
getSocketOrSocketInfoAddr :: SocketOrSocketInfo Socket Socket.SockAddr
52-
-> IO (SocketOrSocketInfo Socket.SockAddr Socket.SockAddr)
55+
56+
getSocketOrSocketInfoAddr :: SocketOrSocketInfo
57+
-> IO Socket.SockAddr
5358
getSocketOrSocketInfoAddr (ActualSocket sock) =
54-
ActualSocket <$> Socket.getSocketName sock
59+
Socket.getSocketName sock
5560
getSocketOrSocketInfoAddr (SocketInfo sockAddr) =
56-
return $ SocketInfo sockAddr
61+
return sockAddr
5762

5863

5964
-- | Errors for the current module.
@@ -122,9 +127,9 @@ data SocketConfig
122127
--
123128
gatherConfiguredSockets :: SocketConfig
124129
-> ExceptT SocketConfigError IO
125-
(Maybe (SocketOrSocketInfo Socket SockAddr),
126-
Maybe (SocketOrSocketInfo Socket SockAddr),
127-
Maybe (SocketOrSocketInfo LocalSocket LocalAddress))
130+
(Maybe SocketOrSocketInfo,
131+
Maybe SocketOrSocketInfo,
132+
Maybe LocalSocketOrSocketInfo)
128133
gatherConfiguredSockets SocketConfig { ncNodeIPv4Addr,
129134
ncNodeIPv6Addr,
130135
ncNodePortNumber,

cardano-node/src/Cardano/Node/Run.hs

+1-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ import Cardano.Node.Configuration.NodeAddress
3838
import Cardano.Node.Configuration.POM (NodeConfiguration (..),
3939
PartialNodeConfiguration (..), SomeNetworkP2PMode (..), TimeoutOverride (..),
4040
defaultPartialNodeConfiguration, makeNodeConfiguration, parseNodeConfigurationFP, getForkPolicy)
41-
import Cardano.Node.Configuration.Socket (SocketOrSocketInfo (..),
41+
import Cardano.Node.Configuration.Socket (SocketOrSocketInfo' (..),
4242
gatherConfiguredSockets, getSocketOrSocketInfoAddr)
4343
import qualified Cardano.Node.Configuration.Topology as TopologyNonP2P
4444
import Cardano.Node.Configuration.TopologyP2P

cardano-node/src/Cardano/Node/Startup.hs

+4-5
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,7 @@ import Ouroboros.Consensus.Node.NetworkProtocolVersion (BlockNodeToCli
3333
BlockNodeToNodeVersion)
3434
import Ouroboros.Consensus.Shelley.Ledger.Ledger (shelleyLedgerGenesis)
3535
import Ouroboros.Network.Magic (NetworkMagic (..))
36-
import Ouroboros.Network.NodeToClient (LocalAddress (..), LocalSocket,
37-
NodeToClientVersion)
36+
import Ouroboros.Network.NodeToClient (NodeToClientVersion)
3837
import Ouroboros.Network.NodeToNode (DiffusionMode (..), NodeToNodeVersion, PeerAdvertise)
3938
import Ouroboros.Network.PeerSelection.LedgerPeers.Type (UseLedgerPeers)
4039
import Ouroboros.Network.PeerSelection.RelayAccessPoint (RelayAccessPoint)
@@ -62,9 +61,9 @@ data StartupTrace blk =
6261
-- | Log startup information.
6362
--
6463
StartupInfo
65-
[SocketOrSocketInfo Socket.SockAddr Socket.SockAddr]
64+
[Socket.SockAddr]
6665
-- ^ node-to-node addresses
67-
(Maybe (SocketOrSocketInfo LocalSocket LocalAddress))
66+
(Maybe LocalSocketOrSocketInfo)
6867
-- ^ node-to-client socket path
6968
(Map NodeToNodeVersion (BlockNodeToNodeVersion blk))
7069
-- ^ supported node-to-node versions
@@ -164,7 +163,7 @@ data BasicInfoByron = BasicInfoByron {
164163
}
165164

166165
data BasicInfoNetwork = BasicInfoNetwork {
167-
niAddresses :: [SocketOrSocketInfo Socket.SockAddr Socket.SockAddr]
166+
niAddresses :: [SocketOrSocketInfo]
168167
, niDiffusionMode :: DiffusionMode
169168
, niDnsProducers :: [DnsSubscriptionTarget]
170169
, niIpProducers :: IPSubscriptionTarget

cardano-node/src/Cardano/Node/Tracing/Tracers/Startup.hs

+6-10
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ import Ouroboros.Consensus.HardFork.Combinator.Degenerate (HardForkLed
4040
import Ouroboros.Consensus.Node.NetworkProtocolVersion
4141
import Ouroboros.Consensus.Node.ProtocolInfo (ProtocolInfo (..))
4242
import Ouroboros.Consensus.Shelley.Ledger.Ledger (shelleyLedgerGenesis)
43-
import Ouroboros.Network.NodeToClient (LocalAddress (..), LocalSocket (..))
43+
import Ouroboros.Network.NodeToClient (LocalAddress (..))
4444
import Ouroboros.Network.NodeToNode (DiffusionMode (..))
4545
import Ouroboros.Network.PeerSelection.LedgerPeers.Type (AfterSlot (..),
4646
UseLedgerPeers (..))
@@ -55,7 +55,6 @@ import Data.Text (Text, pack)
5555
import Data.Time (getCurrentTime)
5656
import Data.Time.Clock.POSIX (POSIXTime, utcTimeToPOSIXSeconds)
5757
import Data.Version (showVersion)
58-
import Network.Socket (SockAddr)
5958

6059
import Paths_cardano_node (version)
6160

@@ -156,7 +155,7 @@ instance ( Show (BlockNodeToNodeVersion blk)
156155
supportedNodeToClientVersions)
157156
= mconcat (
158157
[ "kind" .= String "StartupInfo"
159-
, "nodeAddresses" .= toJSON (map ppN2NSocketInfo addresses)
158+
, "nodeAddresses" .= toJSON (map show addresses)
160159
, "localSocket" .= case localSocket of
161160
Nothing -> Null
162161
Just a -> String (pack . ppN2CSocketInfo $ a)
@@ -463,7 +462,7 @@ ppStartupInfoTrace (StartupInfo addresses
463462
supportedNodeToClientVersions)
464463
= pack
465464
$ "\n" ++ intercalate "\n"
466-
[ "node addresses: " ++ intercalate ", " (map ppN2NSocketInfo addresses)
465+
[ "node addresses: " ++ intercalate ", " (map show addresses)
467466
, "local socket: " ++ maybe "NONE" ppN2CSocketInfo localSocket
468467
, "node-to-node versions: " ++ show (fmap nodeToNodeVersionToInt (Map.keys supportedNodeToNodeVersions))
469468
, "node-to-client versions: " ++ show (fmap nodeToClientVersionToInt (Map.keys supportedNodeToClientVersions))
@@ -586,14 +585,11 @@ nonP2PWarningMessage =
586585
--
587586
ppSocketInfo :: Show sock
588587
=> (info -> String)
589-
-> SocketOrSocketInfo sock info -> String
588+
-> SocketOrSocketInfo' sock info
589+
-> String
590590
ppSocketInfo ppInfo (SocketInfo addr) = ppInfo addr
591591
ppSocketInfo _ppInfo (ActualSocket sock) = show sock
592592

593-
ppN2CSocketInfo :: SocketOrSocketInfo LocalSocket LocalAddress
593+
ppN2CSocketInfo :: LocalSocketOrSocketInfo
594594
-> String
595595
ppN2CSocketInfo = ppSocketInfo getFilePath
596-
597-
ppN2NSocketInfo :: SocketOrSocketInfo SockAddr SockAddr
598-
-> String
599-
ppN2NSocketInfo = ppSocketInfo show

0 commit comments

Comments
 (0)