-
Notifications
You must be signed in to change notification settings - Fork 984
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
[On ice] Episub + minor edits #291
Conversation
…(including ones to be deleted)
…refactoring, etc.
…ed to resolve. Could not find in --> gossipsub/src/rpc_proto.rs:266:21 | 266 | ::protobuf::MessageStatic::descriptor_static(None::<Self>) | ^^^^^^^^^^^^^ Could not find in error[E0433]: failed to resolve. Could not find in --> gossipsub/src/rpc_proto.rs:505:21 | 505 | ::protobuf::MessageStatic::descriptor_static(None::<Self>) | ^^^^^^^^^^^^^ Could not find in error[E0433]: failed to resolve. Could not find in --> gossipsub/src/rpc_proto.rs:848:21 | 848 | ::protobuf::MessageStatic::descriptor_static(None::<Self>) | ^^^^^^^^^^^^^ Could not find in error[E0433]: failed to resolve. Could not find in --> gossipsub/src/rpc_proto.rs:1202:21 | 1202 | ::protobuf::MessageStatic::descriptor_static(None::<Self>) | ^^^^^^^^^^^^^ Could not find in error[E0433]: failed to resolve. Could not find in --> gossipsub/src/rpc_proto.rs:1449:21 | 1449 | ::protobuf::MessageStatic::descriptor_static(None::<Self>) | ^^^^^^^^^^^^^ Could not find in error[E0433]: failed to resolve. Could not find in --> gossipsub/src/rpc_proto.rs:1630:21 | 1630 | ::protobuf::MessageStatic::descriptor_static(None::<Self>) | ^^^^^^^^^^^^^ Could not find in error[E0433]: failed to resolve. Could not find in --> gossipsub/src/rpc_proto.rs:1816:21 | 1816 | ::protobuf::MessageStatic::descriptor_static(None::<Self>) | ^^^^^^^^^^^^^ Could not find in error[E0433]: failed to resolve. Could not find in --> gossipsub/src/rpc_proto.rs:2002:21 | 2002 | ::protobuf::MessageStatic::descriptor_static(None::<Self>) | ^^^^^^^^^^^^^ Could not find in error[E0433]: failed to resolve. Could not find in --> gossipsub/src/rpc_proto.rs:2306:21 | 2306 | ::protobuf::MessageStatic::descriptor_static(None::<Self>) | ^^^^^^^^^^^^^ Could not find in error[E0433]: failed to resolve. Could not find in --> gossipsub/src/rpc_proto.rs:2530:21 | 2530 | ::protobuf::MessageStatic::descriptor_static(None::<Self>) | ^^^^^^^^^^^^^ Could not find in error[E0433]: failed to resolve. Could not find in --> gossipsub/src/rpc_proto.rs:2800:21 | 2800 | ::protobuf::MessageStatic::descriptor_static(None::<Self>) | ^^^^^^^^^^^^^ Could not find in error[E0433]: failed to resolve. Use of undeclared type or module --> gossipsub/src/membership_management/join.rs:34:17 | 34 | inner : SecioKeyPairInner::Ed25519 | ^^^^^^^^^^^^^^^^^ Use of undeclared type or module error[E0405]: cannot find trait in module --> gossipsub/src/rpc_proto.rs:270:18 | 270 | impl ::protobuf::MessageStatic for RPC { | ^^^^^^^^^^^^^ not found in error[E0405]: cannot find trait in module --> gossipsub/src/rpc_proto.rs:509:18 | 509 | impl ::protobuf::MessageStatic for RPC_SubOpts { | ^^^^^^^^^^^^^ not found in error[E0405]: cannot find trait in module --> gossipsub/src/rpc_proto.rs:852:18 | 852 | impl ::protobuf::MessageStatic for Message { | ^^^^^^^^^^^^^ not found in error[E0405]: cannot find trait in module --> gossipsub/src/rpc_proto.rs:1206:18 | 1206 | impl ::protobuf::MessageStatic for ControlMessage { | ^^^^^^^^^^^^^ not found in error[E0405]: cannot find trait in module --> gossipsub/src/rpc_proto.rs:1453:18 | 1453 | impl ::protobuf::MessageStatic for ControlIHave { | ^^^^^^^^^^^^^ not found in error[E0405]: cannot find trait in module --> gossipsub/src/rpc_proto.rs:1634:18 | 1634 | impl ::protobuf::MessageStatic for ControlIWant { | ^^^^^^^^^^^^^ not found in error[E0405]: cannot find trait in module --> gossipsub/src/rpc_proto.rs:1820:18 | 1820 | impl ::protobuf::MessageStatic for ControlGraft { | ^^^^^^^^^^^^^ not found in error[E0405]: cannot find trait in module --> gossipsub/src/rpc_proto.rs:2006:18 | 2006 | impl ::protobuf::MessageStatic for ControlPrune { | ^^^^^^^^^^^^^ not found in error[E0405]: cannot find trait in module --> gossipsub/src/rpc_proto.rs:2310:18 | 2310 | impl ::protobuf::MessageStatic for TopicDescriptor { | ^^^^^^^^^^^^^ not found in error[E0405]: cannot find trait in module --> gossipsub/src/rpc_proto.rs:2534:18 | 2534 | impl ::protobuf::MessageStatic for TopicDescriptor_AuthOpts { | ^^^^^^^^^^^^^ not found in error[E0405]: cannot find trait in module --> gossipsub/src/rpc_proto.rs:2804:18 | 2804 | impl ::protobuf::MessageStatic for TopicDescriptor_EncOpts { | ^^^^^^^^^^^^^ not found in error[E0422]: cannot find struct, variant or union type in this scope --> gossipsub/src/membership_management/join.rs:94:20 | 94 | kbuckets : KBucketsTable { | ^^^^^^^^^^^^^ not found in this scope error: aborting due to 24 previous errors Some errors occurred: E0405, E0422, E0433. For more information about an error, try The code refers to a trait that is not in scope. Erroneous code example: ``` struct Foo; impl SomeTrait for Foo {} // error: trait `SomeTrait` is not in scope ``` Please verify that the name of the trait wasn't misspelled and ensure that it was imported. Example: ``` // solution 1: use some_file::SomeTrait; // solution 2: trait SomeTrait { // some functions } struct Foo; impl SomeTrait for Foo { // ok! // implements functions } ```. error: Could not compile .
… 1.7 was installed instead of 2.0.4; fixing some incomplete code; still more to fix and complete
…ng KadConnecConfig to implement transport in order to put it into a swarm.
…rk on implementing a transport trait and upgrading it with secio is lost
Hey @jamesray1 , it's happy to see that you have a lot of progress on rust gossipsub. We made a issue in libp2p/specs#83 . I'm thinking you might be interested in which version gossipsub to implement now, since currently the broadcast tree version hasn't been implemented yet in the go version. The current implemented version is more like the one described in gerbil-simsub. |
Hi @mhchia, I was basing the Rust implementation off the specification that was formerly and mistakenly under gossipsub, and which has now been moved to episub, not on the Go or Gerbil implementations which implement gossipsub. However, it seems to make more sense to implement gossipsub first, then extend that to episub. Thanks for noticing that in libp2p/specs#83. |
Moved to #419. |
Proximity Aware Epidemic PubSub for libp2p
See the episub specification for details. This PR started to implement episub, however, episub is a custom router for gossipsub, where the former uses an epidemic broadcast tree, a random walk for joining, active and passive view membership management for subscriptions and other optimizations for single source transmission.
Another PR will be created for gossipsub and this PR will be frozen, at least until the gossipsub PR is merged.