Skip to content

Decouple Transport from RaidenService #3252

@andrevmatos

Description

@andrevmatos

(Discussion deadline: 2019-01-25)

Abstract

Even though tranport is logically a child of RaidenService, it receives RaidenService in start and uses it in a couple of places, tightly coupling both bi-directionally and making it harder to use transports for anything outside RaidenService (like MS and PFS).

Motivation

Transport role can be described as: given an own address and some configuration, it can listen to messages sent to its address, and send messages to a target address. This role doesn't strictly require raiden service, but it's used all over the place for specific things that aren't specific to RaidenService. We need to decouple this interface, and make transport not depend directly on RaidenService.

Specification

These are some of the uses by MatrixTransport and suggestions on how they could be abstracted away from service:

Backwards Compatibility

These changes should be completely backwards compatible, and not impact much the rest of the Raiden's architecture outside of transports.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions