Project

General

Profile

Actions

Feature #3169

closed

WebSocketTransport

Added by Junxiao Shi over 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:
3.00 h

Description

Implement WebSocketTransport for use with LinkService.

The WebSocketTransport is a subclass of Transport that communicates with a remote forwarder over a WebSocket.

  • WebSocketTransport is local if RemoteUri contains a loopback address; otherwise it's non-local.
  • WebSocketTransport is always on-demand, because it's application connecting to NFD. There is no persistent or permanent WebSocketTransport.

After implementing WebSocketTransport:

  • change WebSocketChannel to initialize an LpFace(GenericLinkService+WebSocketTransport) in place of WebSocketFace
  • delete old WebSocketFace

Related issues 3 (0 open3 closed)

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

Actions
Blocks NFD - Feature #3160: Permit scope=local in WebSocketTransportClosedYukai Tu

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

Actions
Actions #1

Updated by Junxiao Shi over 9 years ago

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

Updated by Junxiao Shi over 9 years ago

  • Assignee set to Yukai Tu

Changes for this issue should be uploaded to feature-lp branch.

Most code can be adapted from old WebSocketFace.

Initialization logic is partially designed in #3088 note-20.

Actions #3

Updated by Junxiao Shi over 9 years ago

  • Description updated (diff)
Actions #4

Updated by Junxiao Shi over 9 years ago

  • Blocks Feature #3160: Permit scope=local in WebSocketTransport added
Actions #5

Updated by Junxiao Shi over 9 years ago

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

Updated by Junxiao Shi about 9 years ago

20151006 conference call decides: Change for this issue should be uploaded to master branch.

This is not a breaking change. No notice is needed.

Actions #7

Updated by Yukai Tu about 9 years ago

  • Status changed from New to In Progress
Actions #8

Updated by Yukai Tu about 9 years ago

I may need some help about how to judge the loopback in WebSocket. Thanks!

Actions #9

Updated by Davide Pesavento about 9 years ago

  • Status changed from In Progress to Code review
  • % Done changed from 0 to 80
Actions #10

Updated by Wentao Shang about 9 years ago

Yukai Tu wrote:

I may need some help about how to judge the loopback in WebSocket. Thanks!

I think the safest way is to construct a boost::asio::ip::address from FaceUri and use is_loopback() interface.

Actions #11

Updated by Junxiao Shi about 9 years ago

  • Status changed from Code review to Closed
  • % Done changed from 80 to 100
Actions

Also available in: Atom PDF