Skip to content
This repository has been archived by the owner on Sep 6, 2022. It is now read-only.

Add transport and connection 'Traits' #91

Open
whyrusleeping opened this issue Sep 23, 2016 · 3 comments
Open

Add transport and connection 'Traits' #91

whyrusleeping opened this issue Sep 23, 2016 · 3 comments

Comments

@whyrusleeping
Copy link
Contributor

A transport implementation should be able to signal the capabilities it has by default. Some transports might already have some of the layers we currently add on top, such as QUIC already having build in multiplexing, and cjdns already having transport level encryption.

This can even be extended to help us move to supporting unreliable transports.

I think some of the general traits we want to have are (non-exhaustively):

  • HasEncryption
  • HasMultiplexing
  • IsReliable
@Stebalien
Copy link
Member

Now that all transports are expose all required features, this is less of an issue (no more HasEncryption, HasMultiplexing, IsReliable). However, we will likely still want "traits" for optional (but useful) features.

@magik6k
Copy link
Contributor

magik6k commented Jun 9, 2018

One example would be libp2p/go-libp2p-swarm#57 (comment)

@paralin
Copy link

paralin commented Jun 15, 2018

Being able to send packets "out of band" or unencrypted would be nice.

@Stebalien Stebalien transferred this issue from libp2p/go-libp2p-transport Dec 6, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants