Feature #3166
closed
Added by Junxiao Shi about 10 years ago.
Updated about 10 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