Skip to content

Commit b0cce97

Browse files
committed
network update
1 parent 103d3a6 commit b0cce97

File tree

1 file changed

+115
-0
lines changed

1 file changed

+115
-0
lines changed

blog/2025-01-20-network.md

Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
---
2+
title: Network Team Update
3+
slug: 2025-01-20-network
4+
authors: coot
5+
tags: [network]
6+
hide_table_of_contents: false
7+
---
8+
9+
## Overview of [sprint 78][sprint-78] & [sprint 79][sprint-79]
10+
11+
### Documentation
12+
13+
We reviewed the [technical report][network-spec], we closed a number of issues:
14+
15+
* [__RollBack claimed to sometimes contain a header__][on#4686]
16+
* [__Is BlockFetch mini-protocol inclusive in the argument range?__][on#4628]
17+
* [__Wrong colors in figure 3.7 of network-spec__][on#4662]
18+
* [__Document CBOR encoding of Local TX-Submission mini-protocol__][on#4521]
19+
* [__Document Local Tx-Monitor mini-protocol__][on#3420]
20+
* [__Links to implemented mini-protocols are obsolete__][on#2780]
21+
22+
This was done in the [Network Spec Update][on#5036] PR, we also fixed many grammar
23+
& spelling errors [network-spec: language][on#5044].
24+
25+
### SRV Record Support
26+
27+
We worked on [SRV records][SRV-rec] support by `ouroboros-network`, [issue
28+
#2780][on#2780], [PR 5018][on#5018]. We will merge it after [reuasble
29+
diffusion][on#5016].
30+
31+
### Quarable Network State
32+
33+
We opened a [draft PR][on#5046], also see the [issue][on#5006], where we
34+
mentioned all the branches where the work is progressing. See below for more
35+
technical details.
36+
37+
### Extensible Ouroboros Network Diffusion Stack
38+
39+
The work stream reached the review phase. See [issue#5016][on#5016].
40+
41+
### Tx-Submission
42+
43+
The Consensus team agreed to implement needed mempool performance
44+
optimisations and is making progress on them. See
45+
[ouroboros-consensus#1359][oc#1359].
46+
47+
### Ouroboros-Network-0.19 Release
48+
49+
We cut `ouroboros-network-0.19` and `0.19.1` [releases][on-releases].
50+
51+
## Low-level summary
52+
53+
### Quarable Network State
54+
55+
In the first interaction, we will make it possible to query the `node-to-node` state
56+
through `LocalStateQuery` mini-protocol (part of the node-to-client protocol).
57+
58+
```haskell
59+
data ConnectionManagerState peeraddr = ConnectionManagerState {
60+
connectionMap :: Map (ConnectionId peeraddr) AbstractState,
61+
-- ^ map of connections, without outbound connections in
62+
-- `ReservedOutboundSt` state.
63+
64+
registeredOutboundConnections :: Set peeraddr
65+
-- ^ set of outbound connections in the `ReserverdOutboundSt` state.
66+
}
67+
deriving (Eq, Show)
68+
69+
70+
data InboundState peeraddr = InboundState {
71+
remoteHotSet :: !(Set (ConnectionId peeraddr)),
72+
remoteWarmSet :: !(Set (ConnectionId peeraddr)),
73+
remoteColdSet :: !(Set (ConnectionId peeraddr)),
74+
remoteIdleSet :: !(Set (ConnectionId peeraddr))
75+
}
76+
deriving (Eq, Show)
77+
78+
data OutboundState peeraddr = OutboundState {
79+
coldPeers :: Set peeraddr,
80+
warmPeers :: Set peeraddr,
81+
hotPeers :: Set peeraddr
82+
}
83+
deriving (Eq, Show)
84+
85+
86+
data NetworkState peeraddr = NetworkState {
87+
connectionManagerState :: ConnectionManagerState peeraddr,
88+
inboundGovernorState :: InboundState peeraddr,
89+
outboundGovernorState :: OutboundState peeraddr
90+
}
91+
deriving (Eq, Show)
92+
```
93+
94+
[sprint-78]: https://github.com/orgs/IntersectMBO/projects/5/views/1?filterQuery=sprint%3A%22Sprint+78%22
95+
[sprint-79]: https://github.com/orgs/IntersectMBO/projects/5/views/1?filterQuery=sprint%3A%22Sprint+79%22
96+
97+
[network-spec]: https://ouroboros-network.cardano.intersectmbo.org/pdfs/network-spec/network-spec.pdf
98+
99+
[SRV-rec]: https://www.cloudflare.com/en-gb/learning/dns/dns-records/dns-srv-record/
100+
[oc#1359]: https://github.com/IntersectMBO/ouroboros-consensus/issues/1359
101+
[on#2780]: https://github.com/IntersectMBO/ouroboros-network/issues/2780
102+
[on#2883]: https://github.com/IntersectMBO/ouroboros-network/issues/2883
103+
[on#3420]: https://github.com/IntersectMBO/ouroboros-network/issues/3420
104+
[on#4521]: https://github.com/IntersectMBO/ouroboros-network/issues/4521
105+
[on#4628]: https://github.com/IntersectMBO/ouroboros-network/issues/4628
106+
[on#4662]: https://github.com/IntersectMBO/ouroboros-network/issues/4662
107+
[on#4686]: https://github.com/IntersectMBO/ouroboros-network/issues/4686
108+
[on#5006]: https://github.com/IntersectMBO/ouroboros-network/issues/5006
109+
[on#5016]: https://github.com/IntersectMBO/ouroboros-network/pull/5016
110+
[on#5018]: https://github.com/IntersectMBO/ouroboros-network/pull/5018
111+
[on#5033]: https://github.com/IntersectMBO/ouroboros-network/pull/5033
112+
[on#5036]: https://github.com/IntersectMBO/ouroboros-network/pull/5036
113+
[on#5044]: https://github.com/IntersectMBO/ouroboros-network/pull/5044
114+
[on#5046]: https://github.com/IntersectMBO/ouroboros-network/pull/5046
115+
[on-releases]: https://github.com/orgs/IntersectMBO/projects/5/views/18

0 commit comments

Comments
 (0)