Skip to content

Commit 81b9dda

Browse files
committed
network-mux: added name field to MuxBearer
It is used to name various shared stm variables. NOTE: we name them when we `runMux`, not when `newMux` is created.
1 parent 0ace6ab commit 81b9dda

File tree

8 files changed

+23
-11
lines changed

8 files changed

+23
-11
lines changed

network-mux/src/Network/Mux.hs

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ data MuxStatus
116116
-- | Create a mux handle.
117117
--
118118
newMux :: forall (mode :: MuxMode) m.
119-
MonadSTM m
119+
MonadLabelledSTM m
120120
=> [MiniProtocolInfo mode]
121121
-- ^ description of protocols run by the mux layer. Only these protocols
122122
-- one will be able to execute.
@@ -217,9 +217,13 @@ runMux :: forall m mode.
217217
-> Mux mode m
218218
-> MuxBearer m
219219
-> m ()
220-
runMux tracer Mux {muxMiniProtocols, muxControlCmdQueue, muxStatus} bearer = do
220+
runMux tracer Mux {muxMiniProtocols, muxControlCmdQueue, muxStatus} bearer@MuxBearer {name} = do
221221
egressQueue <- atomically $ newTBQueue 100
222-
labelTBQueueIO egressQueue "mux-eq"
222+
223+
-- label shared variables
224+
labelTBQueueIO egressQueue (name ++ "-mux-egress")
225+
labelTVarIO muxStatus (name ++ "-mux-status")
226+
labelTQueueIO muxControlCmdQueue (name ++ "-mux-ctrl")
223227

224228
JobPool.withJobPool
225229
(\jobpool -> do
@@ -248,13 +252,13 @@ runMux tracer Mux {muxMiniProtocols, muxControlCmdQueue, muxStatus} bearer = do
248252
JobPool.Job (muxer egressQueue bearer)
249253
(return . MuxerException)
250254
MuxJob
251-
"muxer"
255+
(name ++ "-muxer")
252256

253257
demuxerJob =
254258
JobPool.Job (demuxer (Map.elems muxMiniProtocols) bearer)
255259
(return . DemuxerException)
256260
MuxJob
257-
"demuxer"
261+
(name ++ "-demuxer")
258262

259263
miniProtocolJob
260264
:: forall mode m.

network-mux/src/Network/Mux/Bearer/AttenuatedChannel.hs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -262,7 +262,8 @@ attenuationChannelAsMuxBearer sduSize sduTimeout muxTracer chan =
262262
MuxBearer {
263263
read = readMux,
264264
write = writeMux,
265-
sduSize
265+
sduSize,
266+
name = "attenuation-channel"
266267
}
267268
where
268269
readMux :: TimeoutFn m -> m (MuxSDU, Time)

network-mux/src/Network/Mux/Bearer/NamedPipe.hs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,8 @@ namedPipeAsBearer sduSize tracer h =
3737
Mx.MuxBearer {
3838
Mx.read = readNamedPipe,
3939
Mx.write = writeNamedPipe,
40-
Mx.sduSize = sduSize
40+
Mx.sduSize = sduSize,
41+
Mx.name = "named-pipe"
4142
}
4243
where
4344
readNamedPipe :: Mx.TimeoutFn IO -> IO (Mx.MuxSDU, Time)

network-mux/src/Network/Mux/Bearer/Pipe.hs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,8 @@ pipeAsMuxBearer sduSize tracer channel =
7777
Mx.MuxBearer {
7878
Mx.read = readPipe,
7979
Mx.write = writePipe,
80-
Mx.sduSize = sduSize
80+
Mx.sduSize = sduSize,
81+
Mx.name = "pipe"
8182
}
8283
where
8384
readPipe :: Mx.TimeoutFn IO -> IO (Mx.MuxSDU, Time)

network-mux/src/Network/Mux/Bearer/Queues.hs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,8 @@ queueChannelAsMuxBearer sduSize tracer QueueChannel { writeQueue, readQueue } =
4242
Mx.MuxBearer {
4343
Mx.read = readMux,
4444
Mx.write = writeMux,
45-
Mx.sduSize = sduSize
45+
Mx.sduSize = sduSize,
46+
Mx.name = "queue-channel"
4647
}
4748
where
4849
readMux :: Mx.TimeoutFn m -> m (Mx.MuxSDU, Time)

network-mux/src/Network/Mux/Bearer/Socket.hs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,8 @@ socketAsMuxBearer sduSize sduTimeout tracer sd =
5353
Mx.MuxBearer {
5454
Mx.read = readSocket,
5555
Mx.write = writeSocket,
56-
Mx.sduSize = sduSize
56+
Mx.sduSize = sduSize,
57+
Mx.name = "socket-bearer"
5758
}
5859
where
5960
hdrLenght = 8

network-mux/src/Network/Mux/Types.hs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -205,6 +205,8 @@ data MuxBearer m = MuxBearer {
205205
, read :: TimeoutFn m -> m (MuxSDU, Time)
206206
-- | Return a suitable MuxSDU payload size.
207207
, sduSize :: SDUSize
208+
-- | Name of the bearer
209+
, name :: String
208210
}
209211

210212
newtype SDUSize = SDUSize { getSDUSize :: Word16 }

ouroboros-network-framework/sim-tests/Test/Ouroboros/Network/ConnectionManager.hs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -345,7 +345,8 @@ makeFDBearer = MakeBearer $ \_ _ _ ->
345345
return MuxBearer {
346346
write = \_ _ -> getMonotonicTime,
347347
read = \_ -> forever (threadDelay 3600),
348-
sduSize = SDUSize 1500
348+
sduSize = SDUSize 1500,
349+
name = "FD"
349350
}
350351

351352
-- | We only keep exceptions here which should not be handled by the test

0 commit comments

Comments
 (0)