Skip to content

Encapsulate relay::client::Connection into an Newtype type that only exposes AsyncRead and AsyncWrite #3255

@jxs

Description

@jxs

Motivation

As per #3238/files#r1050261660 Connection is a public enum variant with struct variants, any change to it becomes a subsequent breaking change.

Desired changes

Encapsulate that one into an Newtype that only exposes AsyncRead and AsyncWrite as its interface:

  • Rename the type to ConnectionState & make it private
  • Create a struct Connection as Newtype that encapsulates ConnectionState.
  • Move the AsyncRead and AsyncWrite implementations from the enum to the struct

this depends on #3238 as it renames RelayedConnection to Connection and is itself a breaking change. Probably should also wait on the discussion started on #3221 (comment).

CC @thomaseizinger

Are you planning to do it yourself in a pull request?

Yes if required.

Metadata

Metadata

Assignees

No one assigned

    Labels

    difficulty:easygetting-startedIssues that can be tackled if you don't know the internals of libp2p very well

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions