-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy path.plan
32 lines (27 loc) · 973 Bytes
/
.plan
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
durable, resumable, asynchronous file transfer
==============================================
++statsMgr().stats(fd|id).stat;
--
- rx to fill bufs
- header inline w/data, padded
- tail writes padded by reader/sender
- rx can issue mixed inner/tail writes w/o leaking data from other files rx'd into megabuf
- megabuf from pool
- rx fills
- rx walks through, creating & enqueuing subbufs
- subbufs are megabuf markers + shared ptr to megabuf
- all subbufs freed, megabuf returns to pool
- rx to open files on demand instead of holding all descs open for duration of xfer
- rx to track completion for each file, truncate at end & close
- spdk/dpdk
- usability
- [ ] multiple rx (persistent receiver)
- [ ] bind to i/f
- [ ] bind to ANY
- [ ] stats
- [ ] progress
- ref rsync:
11,467,096,064 68% 24.96MB/s 0:03:26 kk
- session?
- [ ] tui
- [ ] configurable buf size, r/w/tx/rx thd counts