rd-framework / com.jetbrains.rd.framework

Package com.jetbrains.rd.framework

Types

AbstractBuffer

abstract class AbstractBuffer

AbstractPolymorphic

class AbstractPolymorphic<T> : ISerializer<T>

DelegatedMarshaller

open class DelegatedMarshaller<TFrom : Any, TTo : Any> : UniversalMarshaller<TTo>

FrameworkMarshallers

object FrameworkMarshallers

IAbstractDeclaration

interface IAbstractDeclaration<T>

Identities

class Identities : IIdentities

Generates unique identifiers for objects in an object graph, supporting separate ID spaces for IDs assigned on the client and the server side of the protocol.

IdKind

enum class IdKind

IIdentities

interface IIdentities

Generates unique identifiers for objects in an object graph.

IInternRoot

interface IInternRoot<TBase : Any> : IRdReactive

Interns values sent over protocol

IMarshaller

interface IMarshaller<T : Any> : ISerializer<T>

A serializer that can participate in polymorphic serialization.

IProtocol

interface IProtocol : IRdDynamic

A root node in an object graph which can be synchronized with its remote copy over a network or a similar connection.

IRdCall

interface IRdCall<in TReq, out TRes>

Represents an API provided by the remote process which can be invoked through the protocol.

IRdDynamic

interface IRdDynamic

A node in a graph of entities that can be synchronized with its remote copy over a network or a similar connection.

IRdEndpoint

interface IRdEndpoint<TReq, TRes>

Counterpart of IRdCall.

IRdTask

interface IRdTask<out T>

Represents a task that can be asynchronously executed.

ISerializer

interface ISerializer<T>

Supports serializing and deserializing values of a specific type.

ISerializers

interface ISerializers

A registry of known serializers.

IUnknownInstance

interface IUnknownInstance

IWire

interface IWire

Sends and receives serialized object data over a network or a similar connection.

IWireWithDelayedDelivery

interface IWireWithDelayedDelivery : IWire

MessageBroker

class MessageBroker

Polymorphic

object Polymorphic : ISerializer<Any?>

Protocol

class Protocol : IRdDynamic, IProtocol

RdContext

abstract class RdContext<T : Any>

Describes a context and provides access to value associated with this context. The associated value is thread-local and synchronized between send/advise pairs on IWire. The associated value will be the same in handler method in IWire.advise as it was in IWire.send. Instances of this class with the same key will share the associated value. Best practice is to declare contexts in toplevel entities in protocol model using Toplevel.context. Manual declaration is also possible.

RdId

data class RdId

An identifier of the object that participates in the object graph.

RdTaskResult

sealed class RdTaskResult<out T>

The result of asynchronously executing a task.

ReflectionMarshaller

class ReflectionMarshaller<T : Any> : IMarshaller<T>

SerializationCtx

class SerializationCtx

Serializers

class Serializers : ISerializers

SocketWire

class SocketWire

UniversalMarshaller

open class UniversalMarshaller<T : Any> : IMarshaller<T>

UnsafeBuffer

class UnsafeBuffer : AbstractBuffer, Closeable

Extensions for External Classes

kotlin.Int

kotlin.Long

kotlin.String

Properties

isCanceled

val <T> IRdTask<T>.isCanceled: Boolean

isFaulted

val <T> IRdTask<T>.isFaulted: Boolean

isSucceeded

val <T> IRdTask<T>.isSucceeded: Boolean

serverPort

val IWire.serverPort: Int

Functions

array

fun <T> ISerializer<T>.array(): ISerializer<Array<T>>

createAbstractBuffer

fun createAbstractBuffer(): AbstractBuffer
fun createAbstractBuffer(bytes: ByteArray): AbstractBuffer

createBackgroundScheduler

fun createBackgroundScheduler(lifetime: <ERROR CLASS>, name: String): <ERROR CLASS>

interned

fun <T : Any> ISerializer<T>.interned(internKey: String): ISerializer<T>

list

fun <T> ISerializer<T>.list(): ISerializer<List<T>>

nullable

fun <T : Any> ISerializer<T>.nullable(): ISerializer<T?>

readArray

fun <T> AbstractBuffer.readArray(inner: () -> T): Array<T>

readBool

fun AbstractBuffer.readBool(): Boolean

readDateTime

fun AbstractBuffer.readDateTime(): <ERROR CLASS>

readEnum

fun <T : Enum<T>> AbstractBuffer.readEnum(): T

readEnumSet

fun <T : Enum<T>> AbstractBuffer.readEnumSet(): <ERROR CLASS><T>

readGuid

fun AbstractBuffer.readGuid(): <ERROR CLASS>

readInterned

fun <T : Any> SerializationCtx.readInterned(stream: AbstractBuffer, internKey: String, readValueDelegate: (SerializationCtx, AbstractBuffer) -> T): T

readList

fun <T> AbstractBuffer.readList(inner: () -> T): List<T>

readNullable

fun <T : Any> AbstractBuffer.readNullable(inner: () -> T): T?

readRdId

fun AbstractBuffer.readRdId(): RdId

readSecureString

fun AbstractBuffer.readSecureString(): RdSecureString

readUri

fun AbstractBuffer.readUri(): <ERROR CLASS>

readUuid

fun AbstractBuffer.readUuid(): <ERROR CLASS>

readVoid

fun AbstractBuffer.readVoid(): Unit

wait

fun <T> IRdTask<T>.wait(timeoutMs: Long, pump: () -> Unit): Boolean

withInternRootsHere

fun SerializationCtx.withInternRootsHere(owner: RdBindableBase, vararg newRoots: String): SerializationCtx

writeArray

fun <T> AbstractBuffer.writeArray(value: Array<T>, elemWriter: (T) -> Unit): Unit

writeBool

fun AbstractBuffer.writeBool(value: Boolean): Unit

writeDateTime

fun AbstractBuffer.writeDateTime(value: <ERROR CLASS>): Unit

writeEnum

fun <T : Enum<T>> AbstractBuffer.writeEnum(value: Enum<T>): Unit

writeEnumSet

fun <T : Enum<T>> AbstractBuffer.writeEnumSet(set: <ERROR CLASS><T>): Unit

writeGuid

fun AbstractBuffer.writeGuid(value: <ERROR CLASS>): Unit

writeInterned

fun <T : Any> SerializationCtx.writeInterned(stream: AbstractBuffer, value: T, internKey: String, writeValueDelegate: (SerializationCtx, AbstractBuffer, T) -> Unit): Unit

writeList

fun <T> AbstractBuffer.writeList(value: List<T>, elemWriter: (T) -> Unit): Unit

writeNullable

fun <T : Any> AbstractBuffer.writeNullable(value: T?, elemWriter: (T) -> Unit): Unit

writeRdId

fun AbstractBuffer.writeRdId(value: RdId): Unit

writeSecureString

fun AbstractBuffer.writeSecureString(string: RdSecureString): Unit

writeUri

fun AbstractBuffer.writeUri(value: <ERROR CLASS>): Unit

writeUuid

fun AbstractBuffer.writeUuid(value: <ERROR CLASS>): Unit

writeVoid

fun AbstractBuffer.writeVoid(void: Unit): Unit