Skip to content

Replace WebSocket++ with libwebsockets #387

@hikinggrass

Description

@hikinggrass

A gradual switch from WebSocket++ to libwebsockets has begun in the last weeks of 2023. This will allow us to implement a few additional features that proved difficult to realize with the current implementation. Since this touches an essential part of the libocpp library, the switch will be done gradually and carefully. First a proof-of-concept implementation for TPM integration was realized, this will be followed by additional implementations for the plain and TLS websocket functionality. These will exist as a opt-in compile-time option at first, to facilitate testing. Once the new implementations have been sufficiently tested it will become the default and the old implementation will be deprecated and then removed at a later date.

  • Add initial libwebsockets based implementation for TLS with TPM support as a proving ground Added support for libwebsockets for tpm/secprofile 2/3 #320
  • Make libwebsockets integration compile time selectable
  • Refactor websocket interface to hide WebSocket++ implementation details
  • Implement plain and TLS websocket functionality with libwebsockets
  • Provide compile time selection between WebSocket++ and libwebsockets backend
  • Test and verify that both implementations behave the same
  • Deprecate the WebSocket++ backend
  • Remove WebSocket++ as dependency

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions