Project

General

Profile

Actions

Task #4972

open

Migrate WebSocket face to Boost.Beast

Added by Davide Pesavento over 6 years ago. Updated 9 days ago.

Status:
New
Priority:
High
Assignee:
-
Category:
Faces
Target version:
Start date:
Due date:
% Done:

0%

Estimated time:

Description

websocketpp, the 3rd party library we're currently using for WebSocket support in NFD, seems to be unmaintained. There have been no substantial commits to the upstream repo since 2022 (develop branch) and no releases since April 2020. We already had to patch an incompatibility with Boost 1.70, but it broke again (and more severely this time) with Boost 1.87 which removed several deprecated Asio APIs.

My suggestion is to switch to the Boost.Beast library. The fact that it's part of Boost ensures a minimal level of maintenance even if in the future the primary author disappears. One potential issue is that it's only available since Boost 1.66, so for older platforms we'll have to either keep the websocketpp-based code alongside the new Beast-based code, or bundle a copy of Beast (it's header-only). (No longer a concern since we require Boost >= 1.74)


Related issues 2 (1 open1 closed)

Related to NFD - Feature #2394: WebSocketChannel: configurable list of endpoints to bind toNew

Actions
Blocked by ndn-cxx - Task #5276: Increase build requirements to Boost 1.71.0ClosedDavide Pesavento

Actions
Actions #1

Updated by Junxiao Shi over 2 years ago

  • Blocked by Task #5276: Increase build requirements to Boost 1.71.0 added
Actions #2

Updated by Junxiao Shi about 2 years ago

  • Related to Feature #2394: WebSocketChannel: configurable list of endpoints to bind to added
Actions #3

Updated by Davide Pesavento 17 days ago

  • Description updated (diff)
  • Priority changed from Normal to High
  • Target version set to 26.next
Actions #4

Updated by Davide Pesavento 9 days ago

  • Description updated (diff)
Actions

Also available in: Atom PDF