Skip to content

Commit a8c2d7e

Browse files
committed
Updating Bitswap architecture diagram.
License: MIT Signed-off-by: David Grisham <[email protected]>
1 parent 349b3bc commit a8c2d7e

File tree

3 files changed

+70
-50
lines changed

3 files changed

+70
-50
lines changed

img/architecture.monopic

-4.18 KB
Binary file not shown.

img/architecture.png

-52.3 KB
Loading

img/architecture.txt

Lines changed: 70 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -1,51 +1,71 @@
11

2-
┌────────────────────────────────────────────────────────────────────────────┐
3-
│ Bitswap API │
4-
└────────────────────────────────────────────────────────────────────────────┘
5-
│ ▲
6-
│register wants │yields the
7-
│and unwants │received
8-
│ │blocks
9-
│ │
10-
│ send block to other nodes┌───────────────────────────┐
11-
│ by adding them to their │ Decision Engine │
12-
│ buckets │ │
13-
│ ┌─────────◀├ ─ ─ ─ │
14-
│ │ │Ledger│ │
15-
│ │ └───────────────────────────┘
16-
│ │ ▲
17-
▼ │ │
18-
┌────────────────────┐ │ │
19-
│ │ │ │
20-
│ Want Manager │ │ │
21-
│ │ │ │
22-
├───────────┬──┬─────┘ │ │
23-
│my wantlist│ │ │ │
24-
└───────────┘ │update wantlist │ │
25-
│messages │ receive a block │
26-
└─────┬───────┬───────┤ │
27-
│ │ │ │
28-
▼ ▼ ▼ │
29-
┌───────┬───────┬───────┐ │
30-
│Message│Message│... │ │
31-
│Queue/ │Queue/ │ │ │
32-
│peer │peer │ │ │
33-
└───────┴───────┴───────┘ │
34-
│ │ │ │
35-
│ │ │ │
36-
│ │ │ │
37-
└───────┴───────┴─┐ │
38-
│ │
39-
│ │
40-
▼ │
41-
┌────────────────────────────────────────┐
42-
│ Network │
43-
└────────────────────────────────────────┘
44-
│ ▲ │ ▲
45-
▼ │ │ │
46-
┌─────────┐ ▼ │
47-
│Transform│ /ipfs/bitswap/1.1.0
48-
└─────────┘
49-
│ ▲
50-
▼ │
51-
/ipfs/bitswap/1.0.0
2+
+---------------------------------------------------------------------------+
3+
| Bitswap API |
4+
+-----------+---------------------------------------------------------------+
5+
| ^
6+
| |
7+
| |
8+
| Yield the
9+
Register wants received blocks
10+
and unwants |
11+
| |
12+
| +------------+-------------+
13+
| +-------<------+ |
14+
| | | Decision Engine |
15+
| | +============\ |
16+
| | |Peer Ledgers| |
17+
v | +------------/-------------+
18+
+--------------------+ | ^
19+
| | | |
20+
| Want Manager | Add peers' wanted blocks |
21+
+============\ | to outgoing messages |
22+
|Our wantlist| | | |
23+
+------------/---+---+ | |
24+
| | |
25+
| | |
26+
Add wants/cancels | |
27+
to outgoing message | |
28+
| | |
29+
| | |
30+
+----+---+--------+----+--+ |
31+
| | | | |
32+
v v v v |
33+
+--------+--------+ +--------+ +---------+---------+
34+
|Peer 1 |Peer 2 | |Peer N | |{d} |
35+
|Message |Message | ... |Message | |/ipfs/bitswap/1.1.0|
36+
|Queue |Queue | |Queue | | |
37+
+--------+--------+ +--------+ +---------+---------+
38+
| | | | |
39+
| | | | |
40+
| | | | |
41+
+--------+--+-----+-------+ |
42+
| |
43+
| |
44+
+---------+---------+ |
45+
|{d} | |
46+
|/ipfs/bitswap/1.1.0| |
47+
| | |
48+
+---------+---------+ |
49+
| |
50+
v |
51+
+-------------------------------------------+-----------------------------------+
52+
| Network |
53+
+-------------------------------------------------------------------------------+
54+
| |
55+
v Peer using |
56+
+-------------* older Bitswap? +------>-------+
57+
| | | |
58+
v | | |
59+
+--------+--------+ | +--------+--------+ |
60+
|{io}Transform | | |{io}Transform | |
61+
+--------+--------+ | +--------+--------+ |
62+
| | ^ |Yes
63+
| | | No |
64+
+------>------+ +--------------* Older Bitswap
65+
| ^ version?
66+
| |
67+
+---------+---------+ +---------+---------+
68+
|{d} (Outgoing) | |{d} (Incoming) |
69+
| Bitswap Message | | Bitswap Message |
70+
| | | |
71+
+---------+---------+ +---------+---------+

0 commit comments

Comments
 (0)