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

Protocol implementations: client-server and P2P - RPC, PubSub and their combinations #45

Draft
wants to merge 33 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
7d834bf
add ImpossibleResource type
dr-orlovsky Jul 18, 2024
948c29f
client: basics
dr-orlovsky Jul 18, 2024
c99f20b
client: complete initial implementation
dr-orlovsky Jul 19, 2024
37c11fc
client: export types
dr-orlovsky Jul 19, 2024
720bc2b
client: fix log feature gates
dr-orlovsky Jul 19, 2024
ed2af25
client: add RpcPub client
dr-orlovsky Jul 19, 2024
1be235a
client: refactor into a dedicated mod
dr-orlovsky Jul 19, 2024
4178370
client: simplify RpcPubClient apis by making type a wrapper of Client
dr-orlovsky Jul 19, 2024
d071599
client: parametrize Request
dr-orlovsky Jul 19, 2024
c3fdda1
client: parametrize MsgPub
dr-orlovsky Jul 20, 2024
e66851e
client: separate ConnectionDelegate from ClientDelegate
dr-orlovsky Jul 20, 2024
e507e34
client: make Rpc callbacks closures
dr-orlovsky Jul 20, 2024
4414832
client: write detailed docs and logging
dr-orlovsky Jul 20, 2024
3a76949
client: implement pure RPC client
dr-orlovsky Jul 20, 2024
216b1b2
client: fix log feature gates
dr-orlovsky Jul 20, 2024
5502c86
chore: create module structure for server and peer protocols
dr-orlovsky Jul 20, 2024
670c1bd
client: remove immature PubSub implementation
dr-orlovsky Jul 20, 2024
a0a3c90
chore: update years and affilations
dr-orlovsky Jul 20, 2024
d7eab2b
server: initial draft
dr-orlovsky Jul 20, 2024
edc49d5
node: initial draft
dr-orlovsky Jul 21, 2024
b1b7146
node: introduce a dedicated RemoteId type
dr-orlovsky Jul 21, 2024
13a03ab
node: further development
dr-orlovsky Jul 21, 2024
6561308
node: data processing
dr-orlovsky Jul 21, 2024
9e1f1b3
node: improve remote ID variable names
dr-orlovsky Jul 21, 2024
3d6e1d1
node: complete implementation
dr-orlovsky Jul 21, 2024
656f600
node: add terminate command
dr-orlovsky Jul 21, 2024
faed7a7
node: rename wire in logging to node-service
dr-orlovsky Jul 21, 2024
875098f
node: todo on metrics
dr-orlovsky Jul 21, 2024
a087ec5
node: fix authorship
dr-orlovsky Jul 22, 2024
d120230
chore: remove unneeded dev dependencies
dr-orlovsky Aug 22, 2024
fd09819
chore: update dependencies
dr-orlovsky Aug 22, 2024
858731e
node: export NodeCtl
dr-orlovsky Aug 22, 2024
20d0d51
node: add Node::join method
dr-orlovsky Aug 22, 2024
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
132 changes: 64 additions & 68 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 6 additions & 3 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ license = "Apache-2.0"
readme = "README.md"

[dependencies]
amplify = "4.6.0"
amplify = "4.7.0"
io-reactor = { version = "0.5.2", optional = true }
cyphernet = { version = "0.5.2", features = ["ed25519", "pem", "multibase", "noise_sha2", "noise_x25519", "noise-framework", "mixnets", "dns"] }
mio = { version = "1.0.0", optional = true }
Expand All @@ -23,8 +23,6 @@ log_crate = { package = "log", version = "0.4.17", optional = true }
rand = "0.8.5" # Used in SplitIo shared secret

[dev-dependencies]
cyphernet = { version = "0.5.2", features = ["ed25519"] }
bitcoin_hashes = "0.14.0"
log_crate = { package = "log", version = "0.4.17" }

[features]
Expand All @@ -39,3 +37,8 @@ log = ["log_crate", "io-reactor/log"]
all-features = false
features = []
rustc-args = ["--cfg", "docsrs"]

[patch.crates-io]
io-reactor = { git = "https://github.com/rust-amplify/io-reactor", branch = "terminate" }
cyphergraphy = { git = "https://github.com/cyphernet-dao/rust-cyphernet", branch = "master" }
cypheraddr = { git = "https://github.com/cyphernet-dao/rust-cyphernet", branch = "master" }
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@
same "printed page" as the copyright notice for easier
identification within third-party archives.

Copyright 2022-2023 Cyphernet DAO, Switzerland
Copyright 2022-2024 Cyphernet Labs, IDCS, Switzerland

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down
2 changes: 1 addition & 1 deletion MANIFEST.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ License: Apache-2.0
Language: Rust
Compiler: 1.69
Author: Maxim Orlovsky
Maintained: Cyphernet DAO, Switzerland
Maintained: Cyphernet Labs, IDCS, Switzerland
Maintainers:
Maxim Orlovsky:
GitHub: @dr-orlovsky
Expand Down
Loading
Loading