Skip to content
Structured Secure Streams - a successor to SST
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Structured Secure Streams

/!\ SSS is currently being rewritten with new crypto infrastructure. /!\
        Code may not build, documentation may be not up-to-date.

SSS provides secure encrypted and authenticated data connection between endpoints. In the future SSS will also provide routing services for the so-called Unmanaged Internet Architecture (UIA).

Builds as part of mettanode, or standalone with libarsenal dependency.


SSS is based on experimental, unfinished project under UIA - Structured Streams Transport.

SSS is an experimental transport protocol designed to address the needs of modern applications that need to juggle many asynchronous communication activities in parallel, such as downloading different parts of a web page simultaneously and playing multiple audio and video streams at once.

Features of SSS:

  • Multiplexes many application streams onto one network connection
  • Gives streams hereditary structure: applications can spawn lightweight streams from existing ones
    • Efficient: no 3-way handshake on startup or TIME-WAIT on close
    • Supports request/response transactions without serializing onto one stream
    • General out-of-band signaling: control requests already in progress
  • Both reliable and best-effort delivery in a semantically unified model
    • supports messages/datagrams of any size: no need to limit size of video frames, RPC responses, etc.
  • Dynamic prioritization of application's streams
    • e.g., load visible parts of a web page first, change priorities when user scrolls
  • End-to-end cryptographic security comparable to SSL
  • Peer-to-peer communication across NATs via hole punching
  • Implemented as a library that can be linked directly into applications like SSL for easy deployment
  • Written in standard c++14 with boost.



sss::host holds information about this host's connection sessions.

sss::server provides access to services on this sss::host.

sss::stream provides outgoing connection from this sss::host.

There can be multiple servers and streams connected to multiple endpoints.

Build Status Bitdeli Badge

You can’t perform that action at this time.