From 30d96cc79796254dea43173a3ff179dc6fd7e156 Mon Sep 17 00:00:00 2001 From: Tim Panton Date: Thu, 6 Aug 2020 15:15:09 +0100 Subject: [PATCH] Added hint at how to use it... --- README | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/README b/README index 17c14dc..d85df4a 100644 --- a/README +++ b/README @@ -9,6 +9,21 @@ webRTC stack. You'll need DTLS (we use Bouncy Castle) and ICE/STUN/TURN (you can This implementation assumes that datagrams will arrive from an DTLS/ICE stack which implements a Datagram Transport. It also assumes a consumer of open SCTP Streams (or datachannels) - it is pure middleware. +Brief note on how to drive it: + +Once you have a BouncyCastle DTLS transport open to a WebRTC agent you can: + + public Association makeAssociation(DTLSTransport trans, AssociationListener li) { + a = new ThreadedAssociation(trans, li); + } +The associationListener will fire events when an association is made and when inbound dataChannels are created. + SCTPStreamListener sl; + // create a streamListener here + SCTPStream echo = a.mkStream("echo", sl); +Will create an outbound stream labeled 'echo'; + +Background: + The stack tries to keep the details of concurrency in a single package, so that the current pure thread model could be replaced with Akka actors or NIO-like async mechanisms. This implementation works well on small devices (eg Raspberry Pi, C.H.I.P etc) @@ -16,4 +31,10 @@ This implementation works well on small devices (eg Raspberry Pi, C.H.I.P etc) Thanks to Michael Tüxen (@tuexen) for help and advice Thanks to Emil Ivov (@Emcho) for Ice4J and encouragement. +Some context on the long silence, we hurried a release out as opensource at the request of some friends, +in the end they didn't adopt the release, so it got substantially sidelined whilst I worked on the rest of the |pipe| stack. +I've now circled back and am attempting to make this a viable public project. Sorry for the delay. + + +