Project

General

Profile

Actions

Feature #3166

closed

TcpTransport

Added by Junxiao Shi about 9 years ago. Updated about 9 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Faces
Target version:
Start date:
Due date:
% Done:

100%

Estimated time:
2.00 h

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

Related issues 6 (0 open6 closed)

Related to NFD - Feature #3165: UnixStreamTransportClosedYukai Tu

Actions
Blocked by NFD - Task #3088: Refactor Face as LinkService+TransportClosedEric Newberry

Actions
Blocks NFD - Feature #3167: TcpTransport: persistency=permanentClosedWeiwei Liu

Actions
Blocks NFD - Task #3172: Refactor Face: completionClosedJunxiao Shi

Actions
Blocked by NFD - Task #3178: Release 0.4.0-beta1ClosedAlex Afanasyev09/21/2015

Actions
Blocks NFD - Task #3306: TcpTransport: test suite improvementClosedEric Newberry

Actions
Actions #1

Updated by Junxiao Shi about 9 years ago

  • Blocked by Task #3088: Refactor Face as LinkService+Transport added
Actions #2

Updated by Junxiao Shi about 9 years ago

Actions #3

Updated by Junxiao Shi about 9 years ago

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.

Actions #4

Updated by Junxiao Shi about 9 years ago

  • Blocks Feature #3167: TcpTransport: persistency=permanent added
Actions #5

Updated by Junxiao Shi about 9 years ago

  • Description updated (diff)
  • Assignee set to Yukai Tu
Actions #6

Updated by Junxiao Shi about 9 years ago

  • Description updated (diff)
Actions #7

Updated by Junxiao Shi about 9 years ago

  • Blocks Task #3172: Refactor Face: completion added
Actions #8

Updated by Yukai Tu about 9 years ago

So we don't need LocalControlHeader processing in Tcp anymore?

Actions #9

Updated by Junxiao Shi about 9 years ago

Answer to note-8:

No, LocalControlHeader is replaced by NDNLPv2 which is provided by GenericLinkService.

TcpTransport only needs to send and receive ndn::Block.

Actions #10

Updated by Yukai Tu about 9 years ago

  • Status changed from New to In Progress
  • Estimated time changed from 2.00 h to 1.00 h
Actions #11

Updated by Junxiao Shi about 9 years ago

  • Blocked by Task #3178: Release 0.4.0-beta1 added
Actions #12

Updated by Junxiao Shi about 9 years ago

  • 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.

Actions #13

Updated by Yukai Tu about 9 years ago

  • Status changed from New to In Progress
Actions #14

Updated by Junxiao Shi about 9 years ago

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.

Actions #15

Updated by Yukai Tu about 9 years ago

  • Status changed from In Progress to Code review
  • % Done changed from 0 to 90
Actions #16

Updated by Junxiao Shi about 9 years ago

  • % Done changed from 90 to 100

http://gerrit.named-data.net/2495

Notice is sent to nfd-dev ndn-lib. Code can merge after Nov 01 12:00 UTC.

Actions #17

Updated by Junxiao Shi about 9 years ago

  • Blocks Task #3306: TcpTransport: test suite improvement added
Actions #18

Updated by Junxiao Shi about 9 years ago

  • Status changed from Code review to Closed
Actions

Also available in: Atom PDF