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

Change inbound outbound constructors to methods on Transport instances #523

Closed
kriskowal opened this issue Dec 2, 2016 · 1 comment
Closed
Assignees
Milestone

Comments

@kriskowal
Copy link
Contributor

We must create Transport constructors for HTTP and TChannel, that will eventually implement peer.Transport, but for now they will need to implement transport.Transport for lifecycle methods Start() Stop(). We must have the Dispatcher collect the transports and manage their lifecycle. Inbounds and outbounds need to expose lists of Transports() that they use, so the dispatcher can collect them.

With this change, it becomes possible to consolidate dependency options on the Transport, and for each transport protocol to manage its global lifecycle and inbound/outbound lifecycles separately. For example HTTP needs to listen in inbound.Start(), but TChannel with an existing channel needs to close in transport.Stop(). Lifecycle methods should block until completion.

@kriskowal
Copy link
Contributor Author

#543 #540 #529

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

1 participant