Feature #3166
closed
Added by Junxiao Shi about 9 years ago.
Updated about 9 years ago.
Description
Implement TcpTransport
for use with LinkService.
The TcpTransport
is a subclass of Transport
that communicates with either a local application or a remote forwarder via a TCP socket.
TcpTransport
is local if RemoteUri contains a loopback address; otherwise it's non-local.
TcpTransport
can be on-demand, persistent, or permanent. However, in this issue only on-demand and persistent are supported.
After implementing TcpTransport
:
- change
TcpChannel
to initialize an LpFace(GenericLinkService+TcpTransport)
in place of TcpFace
- delete old
TcpFace
and TcpLocalFace
- Blocked by Task #3088: Refactor Face as LinkService+Transport added
Unlike the old TcpFace
and TcpLocalFace
classes, there's no need to have a separate TcpLocalTransport
class.
TcpLocalFace
differs from TcpFace
in that it enables LocalControlHeader processing, but there's no such difference in Transport
API.
Changes for this issue should be uploaded to feature-lp
branch.
Most code can be adapted from old TcpFace
.
Initialization logic is partially designed in #3088 note-20.
The assignee may decide whether to have a StreamTransport
template that is shared between UnixStreamTransport
and TcpTransport
, or to implement them separately.
- Description updated (diff)
- Assignee set to Yukai Tu
- Description updated (diff)
- Blocks Task #3172: Refactor Face: completion added
So we don't need LocalControlHeader processing in Tcp anymore?
Answer to note-8:
No, LocalControlHeader is replaced by NDNLPv2 which is provided by GenericLinkService.
TcpTransport only needs to send and receive ndn::Block
.
- Status changed from New to In Progress
- Estimated time changed from 2.00 h to 1.00 h
- Status changed from In Progress to New
- Estimated time changed from 1.00 h to 2.00 h
This should not start until after 0.4.0-beta1 release.
- Status changed from New to In Progress
20151006 conference call decides: Change for this issue should be uploaded to master
branch.
This is a breaking change, so a 5-day notice on nfd-dev and ndn-lib will be needed before merging.
- Status changed from In Progress to Code review
- % Done changed from 0 to 90
- % Done changed from 90 to 100
- Blocks Task #3306: TcpTransport: test suite improvement added
- Status changed from Code review to Closed
Also available in: Atom
PDF