8 releases (breaking)
0.15.0 | Sep 23, 2022 |
---|---|
0.14.0 | May 31, 2022 |
0.13.0 | May 19, 2022 |
0.12.0 | Feb 8, 2022 |
0.1.0 | Oct 4, 2021 |
#70 in #near
Used in 6 crates
(via near-network)
1MB
21K
SLoC
Overview
TODO - already in another PR
Project structure
network_protocol.rs
- contains types, which are part of network protocol, they should be changed with care. All of them deriveBorshSerialize
/BorshDeserialize
types.rs
- TODOconfig.rs
- TODOactix.rs
- TODO
near-network-primitives
near-network-primitives
is a package that contains network types that are meant to be shared
between multiple crates, without having to import near-network
.
Note that, the current split doesn't follow that logic.
We have a few use cases:
- Messages used by
ClientActor
,ViewClientActor
,near-network
. - external packages, which want to analyze traffic, they don't need to import
near-network
, importing just network types should be enough for them
Dependencies:
deepsize
- optional - provides api for counting sizes of structsactix
- required - provides implementationactix
Message
- we could make it optionalborsh
- required - serialization / deserialization of network messages - could be made optional
Current state of the package
near-network
near-network
exports the following to the outside:
PeerManagerActor
PeerManagerActor
relatedActix
messages- Part of
borsh
serialized network messages exchanged between nodes.
Actors below, their related messages, are considered private:
PeerActor
RoutingTableActor
EdgeValidatorActor
near-network-primitives
near-network-primitives
provides
ClientActor
relatedActix
messagesViewClientActor
relatedActix
messages- Part of
borsh
serialized network messages exchanged between nodes. NetworkConfig
- its logic is split betweenutils.rs
andtypes.rs
.
Dependencies
~19–29MB
~392K SLoC