channels

package channels

Members list

Packages

package channels.tls

Type members

Classlikes

class Abort(var closeRequest: Boolean)

Attributes

Supertypes
class Object
trait Matchable
class Any
case class AcceptAttachment(callback: Callback[Connection[MessageBuffer]], incoming: Receive[MessageBuffer])

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class ArrayMessageBuffer(inner: Array[Byte]) extends MessageBuffer

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
trait Connection[T]

Connections are bidirectional. Receiving is handled by the incoming handler of the latent connection.

Connections are bidirectional. Receiving is handled by the incoming handler of the latent connection.

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
case class ConnectionInfo(hostname: Option[String], port: Option[Int])

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
class JIOStreamConnection(in: InputStream, out: OutputStream, doClose: () => Unit) extends Connection[MessageBuffer]

Attributes

Supertypes
class Object
trait Matchable
class Any
object JavaHttp

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
JavaHttp.type
class JioInputStreamAdapter(in: InputStream)

Attributes

Supertypes
class Object
trait Matchable
class Any
class JioOutputStreamAdapter(out: OutputStream)

Attributes

Supertypes
class Object
trait Matchable
class Any
trait LatentConnection[T]

Contains all the information required to try and establish a bidirectional connection. Only misses specification on how to handle messages, the abstract handler is acquired from incoming Note, may produce multiple connections (e.g., if this produces a server connection) thus triggering the async multiple times.

Contains all the information required to try and establish a bidirectional connection. Only misses specification on how to handle messages, the abstract handler is acquired from incoming Note, may produce multiple connections (e.g., if this produces a server connection) thus triggering the async multiple times.

Implementations should make it safe to establish multiple times, though the semantics of that is unclear.

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object MessageBuffer

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
class NioTCP

loopSelection and runSelection should not be called from multiple threads at the same time. Only one thread should send on a single connection at the same time.

loopSelection and runSelection should not be called from multiple threads at the same time. Only one thread should send on a single connection at the same time.

Attributes

Supertypes
class Object
trait Matchable
class Any
class P2PTls(identity: PrivateIdentity)

Attributes

Supertypes
class Object
trait Matchable
class Any
trait Receive[T]

Provides a specification how to handle messages, given a connection context. Failure calls on the callback generally indicate connection errors on the receiver side.

Provides a specification how to handle messages, given a connection context. Failure calls on the callback generally indicate connection errors on the receiver side.

Attributes

Supertypes
class Object
trait Matchable
class Any
case class ReceiveAttachment(callback: Callback[MessageBuffer])

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
class SendingClosedException extends IOException

Attributes

Supertypes
class IOException
class Exception
class Throwable
trait Serializable
class Object
trait Matchable
class Any
Show all

Allows establishing direct synchronous connections between a single “server” and multiple “clients”.

Allows establishing direct synchronous connections between a single “server” and multiple “clients”.

Synchronous here means that any send calls immediately execute the handler code no the receiving side (after a couple of callback indirections). There is no runtime and no threads and the send call will only return after the handling code has completed.

It does not matter if the server or client is started first, connection is established immediately when the second one joins the connection.

Attributes

Supertypes
class Object
trait Matchable
class Any
object UDP

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
UDP.type
class UDPDatagramWrapper(target: SocketAddress, datagramSocket: DatagramSocket) extends Connection[MessageBuffer]

Attributes

Supertypes
class Object
trait Matchable
class Any
class UDPPseudoConnection(socketFactory: () => DatagramSocket, executionContext: ExecutionContext, initializeOutbound: Async[Any, SocketAddress]) extends LatentConnection[MessageBuffer]

Attributes

Supertypes
class Object
trait Matchable
class Any

Types

type Prod[A] = Async[Abort, A]