Project

General

Profile

Task #1468

WebSockets channel and face

Added by Alex Afanasyev over 5 years ago. Updated over 5 years ago.

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

100%

Estimated time:
6.00 h

Description

Develop WebSockets listener and faces.

  • FaceUri format
    • remote: wsclient://IP:port
      This is not same as "ws" scheme, because this URI can't be used to connect to that peer.
    • local: ws or wss scheme
  • Listener IP, port, and path are configurable.
    • defaults: 0.0.0.0, 8080, /
    • path: suppose path is set to "/example", client would need to connect to "ws://hostname:8080/example"
  • Accepted faces are considered non-local.

Related issues

Blocks NFD - Task #1553: Unit-tests for WebSocket implementationClosed2014-04-28

History

#1 Updated by Junxiao Shi over 5 years ago

  • Subject changed from Import c++ implementation of websocket proxy into NFD to WebSockets channel and face
  • Description updated (diff)
  • Category changed from Tools to Faces
  • Estimated time set to 6.00 h

#2 Updated by Alex Afanasyev over 5 years ago

This is different and more complex task from what I put. Don't we want to have a first step of just introducing websocket proxy as a separate daemon?

#3 Updated by Junxiao Shi over 5 years ago

Separate daemon already exists, and requires changing port number only. It merely passes octets between WebSockets stream and TCP stream. That daemon could stay in its own git repository.

In Version 2 I'd like to see full WebSockets support: listener in NFD process.

#4 Updated by Alex Afanasyev over 5 years ago

It exists, but it is not bundled/tested inside NFD package.

#5 Updated by Junxiao Shi over 5 years ago

The proxy should stay where it is, and be tested with NFD and NDN-JS (when it adopts TLV), much earlier than V2. V2 is too late for this feature.

V2 needs full integrated WebSockets support.

#6 Updated by Alex Afanasyev over 5 years ago

Wenato submitted the code and the question now is how we want to handle the dependency. The dependency is a head-only library (https://github.com/zaphoyd/websocketpp), which Wentao added as a git submodule. Is it a way we want to go or we should do something else?

#7 Updated by Alex Afanasyev over 5 years ago

  • Status changed from New to Code review
  • % Done changed from 0 to 80

#8 Updated by Alex Afanasyev over 5 years ago

  • Blocks Task #1553: Unit-tests for WebSocket implementation added

#9 Updated by Junxiao Shi over 5 years ago

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

There's no active Change on Gerrit. I assume this Task is complete.

Also available in: Atom PDF