Feature #3166
closed
  
        
        Added by Junxiao Shi about 10 years ago.
        Updated almost 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.
- TcpTransportis local if RemoteUri contains a loopback address; otherwise it's non-local.
- TcpTransportcan be on-demand, persistent, or permanent. However, in this issue only on-demand and persistent are supported.
After implementing TcpTransport:
- change TcpChannelto initialize anLpFace(GenericLinkService+TcpTransport)in place ofTcpFace
- delete old TcpFaceandTcpLocalFace
 
 
 
  
  
    
    
    
    
       - 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