See the Transport::and_then method.
Transport::and_then
Custom Future to avoid boxing.
Future
Custom Stream to avoid boxing.
Stream