server library

Server library for CRDT Socket Sync

Classes

AwarenessMessage
base class for awareness messages
AwarenessQueryMessage
message to query the awareness state
AwarenessStateMessage
message with the awareness state
AwarenessUpdateMessage
message to update the awareness state
BackendDocumentCatalog
A ServerDocumentCatalog that asks the backend.
ChangeMessage
Message containing a CRDT change.
ChangesMessage
Message containing a set of changes.
ClientAwareness
Client awareness state
ClientSession
Client session on server
CompressedCodec<T>
Codec for messages with optional compression
Compressor
Interface for data compression
CRDTServerRegistry
Class managing the CRDT document registry on the server.
CRDTSocketServer
CRDT socket server interface
DocumentAwareness
Document awareness state
DocumentClientSession
CRDT-aware client session on server.
DocumentStatusMessage
Message containing a full snapshot.
DocumentStatusRequestMessage
Snapshot request message sent from client to server.
ErrorMessage
Error message.
HandshakeRequestMessage
Handshake request message sent from client to server.
HandshakeResponseMessage
Handshake response message sent from server to client.
InMemoryCRDTServerRegistry
In-memory implementation of CRDTServerRegistry.
InMemoryServerDocumentCatalog
A ServerDocumentCatalog that keeps the ids in memory.
JsonMessageCodec<T>
A message codec that uses JSON for serialization.
Message
Base class for all messages exchanged over a connection.
MessageCodec<T>
Interface for encoding and decoding messages
MessageTypeValue
Marker interface for a message type's integer code.
NoCompression
No compression implementation
OutboundQueue
A serialized, byte-bounded outbound send queue.
PersistentServerRegistry
A CRDTServerRegistry that keeps every document it serves on disk.
PingMessage
Ping message to check the connection.
PluginAwareMessageCodec
A message codec that can be used to encode and decode messages for a list of MessageCodecs.
PongMessage
Pong message.
Protocol
Class that handles the communication protocol.
ServerAwarenessEvent
server awareness event
ServerAwarenessPlugin
Server awareness plugin.
ServerDocumentCatalog
The document ids a server serves.
ServerEvent
Class representing a server event
ServerSyncPlugin
Base class for all server plugins.
SessionEvent
Session event.
SessionEventChangeApplied
Session event for a change applied to the server document.
SessionEventGeneric
Session event for a generic shared event (error, ping, disconnect).
SessionEventTypeValue
Marker interface for the type of a SessionEvent.
SyncMessage
Base class for the CRDT-aware sync protocol messages (server-client mode).
SyncPlugin
Base class for all server and client plugins.
SyncSessionEvent
Base class for the server-client (CRDT-aware) session events.
SyncSessionEventGeneric
Session event for a generic sync event (handshake completed, document status created, client out of sync).
Transport
An interface for transporting messages, define the methods necessary to send and receive messages, independently from the underlying transport mechanism.
TransportConnection
An interface for transporting messages, define the methods necessary to send and receive messages, independently from the underlying transport mechanism.
TransportConnector
An interface for the transport connection

Enums

AwarenessMessageType
Awareness message types
MessageType
Core protocol message types (range 0-19).
ServerAwarenessEventType
server awareness event type
ServerEventType
Enum representing the server event types
SessionEventType
Session event types shared by every communication mode.
SyncSessionEventType
Session event types of the CRDT-aware sync protocol (server-client mode).

Mixins

CRDTServerRegistryDocuments
The part of a CRDTServerRegistry that does not depend on where the documents are kept.
SocketServerProvider
A provider that provide the server instance.

Typedefs

ServerSnapshot = ({String documentId, Snapshot snapshot})
A snapshot a document just took, and the document it belongs to.

Exceptions / Errors

OutboundBufferOverflow
Thrown when an OutboundQueue would exceed its byte bound.