Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add bee-autopeering crate #755

Merged
merged 138 commits into from
Dec 21, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
138 commits
Select commit Hold shift + click to select a range
f956259
Add bee-autopeering crate
Alex6323 Oct 7, 2021
a4f0761
Improve and test autopeering multiaddress
Alex6323 Oct 8, 2021
4bdb579
Add entrynode multiaddrs parsing test
Alex6323 Oct 8, 2021
ff85824
Add identity module; protobufs; peer module
Alex6323 Oct 8, 2021
425389c
Add DiscoveredPeer type
Alex6323 Oct 11, 2021
9ee297a
Add Packet type
Alex6323 Oct 11, 2021
873785f
Add peering messages
Alex6323 Oct 11, 2021
c8463f4
Add salt and distance calc.
Alex6323 Oct 11, 2021
1bbc824
Separate salt and distance
Alex6323 Oct 11, 2021
c63f60e
Contact entry nodes
Alex6323 Oct 11, 2021
573a8a1
Add 'AutopeeringServer' type
Alex6323 Oct 12, 2021
ed04534
Add 'discovery' module
Alex6323 Oct 12, 2021
229871e
Add 'DiscoveredPeerlist'
Alex6323 Oct 12, 2021
41ef9c8
Add 'backoff' module
Alex6323 Oct 12, 2021
8976f8f
Add 'Backoff' type
Alex6323 Oct 12, 2021
1e630a3
Implement backoff jitter and timout
Alex6323 Oct 13, 2021
baeec00
Impl custom 'ServiceMap' type with simple protobuf conversion
Alex6323 Oct 13, 2021
f239bf3
Switch to milliseconds in backoff module
Alex6323 Oct 13, 2021
c59c331
Use same jitter logic as Hornet
Alex6323 Oct 13, 2021
7b2f626
Send 'Ping' packet
Alex6323 Oct 13, 2021
48dd176
Impl Into<Peer> for DiscoveredPeer
Alex6323 Oct 13, 2021
c9bd616
Ping entry nodes
Alex6323 Oct 13, 2021
ae05403
Refactor and cleanup
Alex6323 Oct 14, 2021
821abf6
Answer pings; refactoring
Alex6323 Oct 14, 2021
c0f304f
Nits
Alex6323 Oct 14, 2021
8245a26
Add 'request' module
Alex6323 Oct 15, 2021
8778d1e
Add 'cron' module
Alex6323 Oct 15, 2021
d2245d0
Add cron job for expired requests
Alex6323 Oct 15, 2021
39f5d4f
Fix and expand backoff unit tests
Alex6323 Oct 16, 2021
79e2de9
Add event channels
Alex6323 Oct 16, 2021
a84a22b
Add missing newlines
Alex6323 Oct 16, 2021
025b5b1
Introduce in-memory and sled peerstore
Alex6323 Oct 16, 2021
1ca6539
Larger refactor
Alex6323 Oct 17, 2021
a3f51ae
Consistent message handling
Alex6323 Oct 17, 2021
5e37610
Refactor local and distance
Alex6323 Oct 18, 2021
52713a2
Make init generic over peerstore backend
Alex6323 Oct 18, 2021
bb8a31c
Finish neighborhood impl
Alex6323 Oct 18, 2021
cf44897
Make Neighborhood iterable
Alex6323 Oct 18, 2021
7d59869
Update salts; drop neighborhoods
Alex6323 Oct 18, 2021
f49b97e
Test neighborhood size limit
Alex6323 Oct 19, 2021
9d8856a
Add distance unit tests
Alex6323 Oct 19, 2021
a32f6ad
Finish filter impl.
Alex6323 Oct 19, 2021
5dabe37
Add apply_condition unit test
Alex6323 Oct 19, 2021
49db858
handle and send drop request
Alex6323 Oct 19, 2021
0e8c10b
Peering request handling
Alex6323 Oct 19, 2021
adc752b
Discovery verification handling
Alex6323 Oct 19, 2021
bbddb4e
Shutdown logic; Add usage example
Alex6323 Oct 20, 2021
1abd24c
Improve shutdown bus
Alex6323 Oct 20, 2021
d4f77fb
Manual Debug impl for AutopeeringMultiaddr
Alex6323 Oct 20, 2021
fda34cd
Add DNS resolution to AutopeeringMultiaddr
Alex6323 Oct 20, 2021
0e0ec2f
Create peer instances from entry node list
Alex6323 Oct 20, 2021
af4f5a3
Format
Alex6323 Oct 20, 2021
5ca5135
Generate network id; print autopeering warning
Alex6323 Oct 20, 2021
9bb5333
Send 'DiscoveryRequest'
Alex6323 Oct 20, 2021
004c596
Review comments
Alex6323 Oct 21, 2021
3007c12
Nits
Alex6323 Oct 21, 2021
e6d9855
Fix packet processing
Alex6323 Oct 21, 2021
f1b7ffb
Fix local peer services
Alex6323 Oct 21, 2021
e0d8dd8
Add CHANGELOG.md, README.md, and LICENSE
Alex6323 Oct 21, 2021
92efd56
Remove expired requests regularly; Update salts regularly
Alex6323 Oct 21, 2021
93db9ad
Review comments; Small refactor
Alex6323 Oct 22, 2021
57fd7ce
More comments describing the delay factory; tiny refactor
Alex6323 Oct 22, 2021
632c1de
Add ValidationError enum; Improve discovery message processing
Alex6323 Oct 22, 2021
1246ce6
Refactor 'Repeat' trait
Alex6323 Oct 23, 2021
6a68a10
Introduce 'Runnable' trait and 'Spawner' struct
Alex6323 Oct 23, 2021
6f3673f
Introduce 'task' module; Remove 'shutdown' module
Alex6323 Oct 23, 2021
abd561c
Fix verification response validation
Alex6323 Oct 23, 2021
7da3c99
Some doc fixes
Alex6323 Oct 23, 2021
39a4119
Event unification; design improvements
Alex6323 Oct 24, 2021
411c5c5
Random peer selection in DiscoveryResponse
Alex6323 Oct 24, 2021
fbd83c5
Add 'ring' module; Build active- and replacement peerlists on top
Alex6323 Oct 25, 2021
59d93c5
Add 'command' module; Introduce discovery handlers
Alex6323 Oct 25, 2021
7f75db2
Refactor; request callbacks
Alex6323 Oct 26, 2021
8f0fb77
Refactor 'task' module
Alex6323 Oct 26, 2021
2feafdf
Doc fixes
Alex6323 Oct 26, 2021
cd47472
Finish query strategy
Alex6323 Oct 27, 2021
63296f6
Fix example; Format
Alex6323 Oct 27, 2021
0561f17
Fix query peer selection
Alex6323 Oct 28, 2021
a4fc26c
Refactor verification and discovery functions
Alex6323 Oct 28, 2021
ac001ce
Refactor peering manager
Alex6323 Oct 29, 2021
45ec512
Larger refactor
Alex6323 Oct 30, 2021
2f640c3
Fix dead lock
Alex6323 Oct 31, 2021
5bf0a11
Finish neighborhood update logic
Alex6323 Nov 1, 2021
fc8dbd0
Finish sled peerstore; Refactoring
Alex6323 Nov 3, 2021
beb7806
Refactor neighbor filter
Alex6323 Nov 3, 2021
ea4b0b7
Make PeerId Copy; Impl byte serialization for Peer and PeerId
Alex6323 Nov 3, 2021
c30b5cd
Fix 'channel closed' bug
Alex6323 Nov 3, 2021
9d86136
Impl Display for Event
Alex6323 Nov 4, 2021
fbc78da
Set better log levels
Alex6323 Nov 4, 2021
d9cd901
Add Local constructor for hex encoded private keys
Alex6323 Nov 4, 2021
ef95d51
Add Local constructor for libp2p ed25519 keypair
Alex6323 Nov 4, 2021
e902f57
Downgrade more logs to trace level
Alex6323 Nov 4, 2021
c630cd0
Don't log log local id (as likely being logged before)
Alex6323 Nov 4, 2021
e955701
Write docs
Alex6323 Nov 5, 2021
3e14ae8
Fix doc tests; Make neighbor validator non-optional
Alex6323 Nov 5, 2021
ccf99a4
Fix warnings, clippy, format
Alex6323 Nov 5, 2021
edfcd66
Add 'discovered' relation
Alex6323 Nov 5, 2021
4d84084
Little readme fix
Alex6323 Nov 5, 2021
bfb655c
Let readme point to lib.rs
Alex6323 Nov 5, 2021
ff5d4e6
Dead lock protection
Alex6323 Nov 5, 2021
3fc8bed
Fix panic
Alex6323 Nov 6, 2021
d51040b
Do not expose lock guards of the neighbor filter
Alex6323 Nov 6, 2021
b4f62e6
Log peer id and addr when sending
Alex6323 Nov 6, 2021
405d76d
Remove requests that weren't answered in time
Alex6323 Nov 6, 2021
9b5d845
Fix peering event log
Alex6323 Nov 6, 2021
ad5b82b
Access peer service
Alex6323 Nov 6, 2021
2ab23c4
Create multiaddr from service endpoint data
Alex6323 Nov 8, 2021
ed9f213
Log connected discovered peers
Alex6323 Nov 8, 2021
5fa9378
bee-network: Automatically connect to discovered peers
Alex6323 Nov 8, 2021
a41d73c
Message error handling
Alex6323 Nov 8, 2021
95c57ac
Remove disconnected discovered peers
Alex6323 Nov 8, 2021
7b8e97c
Remove undialable discovered peers
Alex6323 Nov 8, 2021
a8e75bf
Git-ignore peerstore dir
Alex6323 Nov 9, 2021
8c06088
Update deps; JSON and TOML config support
Alex6323 Nov 10, 2021
6b2bec3
Undo deps bump due to policy
Alex6323 Nov 10, 2021
bf3a362
Introduce the following changes:
Alex6323 Nov 10, 2021
2147363
Impl Default for AutopeeringConfig
Alex6323 Nov 11, 2021
62f5c98
Fix default impl
Alex6323 Nov 17, 2021
abd5443
Rename config json and toml builders
Alex6323 Nov 18, 2021
85c7e72
Enforce building the config through one of its builders
Alex6323 Nov 18, 2021
ef8919d
Fix deserialization
Alex6323 Nov 23, 2021
ea25766
Format
Alex6323 Nov 23, 2021
660e1b2
Fix bee-gossip example
Alex6323 Nov 24, 2021
f0f2fda
Remove yet unused command logic
Alex6323 Nov 24, 2021
a86eaeb
Remove all remaining yet unused code
Alex6323 Nov 24, 2021
9350d9b
Set default-features = false on all deps
Alex6323 Nov 24, 2021
ba76a73
Address review comments
Alex6323 Nov 25, 2021
7af53f5
Fix test and udeps CI
Alex6323 Nov 25, 2021
3eb193c
Fix clippy
Alex6323 Nov 25, 2021
336c731
Fix format
Alex6323 Nov 25, 2021
9ed1f09
Fix clippy --all-targets
Alex6323 Nov 25, 2021
6a86ddf
Update default port; Improve docs
Alex6323 Nov 26, 2021
6d83a98
Address review comments
Alex6323 Dec 3, 2021
75d5f64
Address more review comments
Alex6323 Dec 3, 2021
801e477
Address even more review comments
Alex6323 Dec 20, 2021
831da6f
Fix udeps
Alex6323 Dec 20, 2021
6e15bdd
Typo
Alex6323 Dec 20, 2021
be5c958
Update codeowners file
Alex6323 Dec 21, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .github/CODEOWNERS
Loading