Package com.jetbrains.rd.framework

Types

Link copied to clipboard
abstract class AbstractBuffer
Link copied to clipboard
class AbstractPolymorphic<T>(val declaration: IAbstractDeclaration<T>) : ISerializer<T>
Link copied to clipboard
class AggregatedMarshallersProvider(val providers: Sequence<MarshallersProvider>) : MarshallersProvider
Link copied to clipboard
open class DelegatedMarshaller<TFrom : Any, TTo : Any>(    marshaller: IMarshaller<TFrom>,     type: KClass<*>,     to: (TFrom) -> TTo,     from: (TTo) -> TFrom) : UniversalMarshaller<TTo>
Link copied to clipboard
data class ExtCreationInfo(    val rName: RName,     val rdId: RdId?,     val hash: Long,     val ext: RdExtBase?)
Link copied to clipboard
data class ExtCreationInfoEx(val info: ExtCreationInfo, val isLocal: Boolean)
Link copied to clipboard
object FrameworkMarshallers
Link copied to clipboard
interface IAbstractDeclaration<T>
Link copied to clipboard
class Identities(val dynamicKind: IdKind) : 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.

Link copied to clipboard
enum IdKind : Enum<IdKind>
Link copied to clipboard
interface IIdentities

Generates unique identifiers for objects in an object graph.

Link copied to clipboard
interface IInternRoot<TBase : Any> : IRdReactive

Interns values sent over protocol

Link copied to clipboard
interface IMarshaller<T : Any> : ISerializer<T>

A serializer that can participate in polymorphic serialization.

Link copied to clipboard
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.

Link copied to clipboard
interface IRdCall<in TReq, out TRes>

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

Link copied to clipboard
interface IRdDynamic

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

Link copied to clipboard
interface IRdEndpoint<TReq, TRes>

Counterpart of IRdCall.

Link copied to clipboard
interface IRdTask<out T>

Represents a task that can be asynchronously executed.

Link copied to clipboard
interface ISerializer<T>

Supports serializing and deserializing values of a specific type.

Link copied to clipboard
interface ISerializers

A registry of known serializers.

Link copied to clipboard
interface IUnknownInstance
Link copied to clipboard
interface IWire

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

Link copied to clipboard
interface IWireWithDelayedDelivery : IWire
Link copied to clipboard
class LazyCompanionMarshaller<T : Any>(    val id: RdId,     val classLoader: ClassLoader,     val fqn: String) : IMarshaller<T>
Link copied to clipboard
abstract class MarhallersProviderFromResourcesBase(val resourceName: String) : MarshallersProvider
Link copied to clipboard
interface MarshallersProvider
Link copied to clipboard
class MessageBroker(queueMessages: Boolean = false) : IPrintable
Link copied to clipboard
object Polymorphic : ISerializer<Any?>
Link copied to clipboard
class Protocol : IRdDynamic, IProtocol
Link copied to clipboard
abstract class RdContext<T : Any>(    val key: String,     val heavy: Boolean,     val serializer: IMarshaller<T>)

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.threadLocalContext. Manual declaration is also possible.

Link copied to clipboard
class RdEntitiesRegistrar
Link copied to clipboard
value class RdId(val hash: Long)

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

Link copied to clipboard
class RdMessage(val id: RdId, val istream: AbstractBuffer)
Link copied to clipboard
sealed class RdTaskResult<out T>

The result of asynchronously executing a task.

Link copied to clipboard
class ReflectionMarshaller<T : Any>(val _type: KClass<T>) : IMarshaller<T>
Link copied to clipboard
object RNameMarshaller
Link copied to clipboard
class SerializationCtx(val serializers: ISerializers, val internRoots: Map<String, IInternRoot<Any>> = emptyMap())
Link copied to clipboard
class Serializers(provider: MarshallersProvider) : ISerializers
Link copied to clipboard
class SocketWire
Link copied to clipboard
abstract class ThreadLocalRdContext<T : Any>(    key: String,     heavy: Boolean,     serializer: IMarshaller<T>) : RdContext<T>

Describes an RdContext which uses ThreadLocal as internal storage for values

Link copied to clipboard
open class UniversalMarshaller<T : Any>(    val _type: KClass<*>,     val reader: (SerializationCtx, AbstractBuffer) -> T,     val writer: (SerializationCtx, AbstractBuffer, T) -> Unit,     val predefinedId: Int? = null) : IMarshaller<T>
Link copied to clipboard
class UnsafeBuffer : AbstractBuffer, Closeable

Functions

Link copied to clipboard
inline fun <T> ISerializer<T>.array(): ISerializer<Array<T>>
Link copied to clipboard
fun createAbstractBuffer(): AbstractBuffer
fun createAbstractBuffer(bytes: ByteArray): AbstractBuffer
Link copied to clipboard
fun createBackgroundScheduler(lifetime: Lifetime, name: String): IScheduler
Link copied to clipboard
fun Int.getPlatformIndependentHash(initial: Long = 19): Long
fun Long.getPlatformIndependentHash(initial: Long = 19): Long
fun String?.getPlatformIndependentHash(initial: Long = 19): Long
Link copied to clipboard
fun <T : Any> ISerializer<T>.interned(internKey: String): ISerializer<T>
Link copied to clipboard
fun <T> ISerializer<T>.list(): ISerializer<List<T>>
Link copied to clipboard
fun <T : Any> ISerializer<T>.nullable(): ISerializer<T?>
Link copied to clipboard
inline fun <T> AbstractBuffer.readArray(inner: () -> T): Array<T>
Link copied to clipboard
fun AbstractBuffer.readBool(): Boolean
Link copied to clipboard
fun AbstractBuffer.readDateTime(): Date
Link copied to clipboard
inline fun <T : Enum<T>> AbstractBuffer.readEnum(): T
Link copied to clipboard
inline fun <T : Enum<T>> AbstractBuffer.readEnumSet(): EnumSet<T>
Link copied to clipboard
fun AbstractBuffer.readGuid(): UUID
Link copied to clipboard
inline fun <T : Any> SerializationCtx.readInterned(    stream: AbstractBuffer,     internKey: String,     readValueDelegate: (SerializationCtx, AbstractBuffer) -> T): T
Link copied to clipboard
inline fun <T> AbstractBuffer.readList(inner: () -> T): List<T>
Link copied to clipboard
inline fun <T : Any> AbstractBuffer.readNullable(inner: () -> T): T?
Link copied to clipboard
fun AbstractBuffer.readRdId(): RdId
Link copied to clipboard
fun AbstractBuffer.readSecureString(): RdSecureString
Link copied to clipboard
fun AbstractBuffer.readTimeSpan(): Duration
Link copied to clipboard
fun AbstractBuffer.readUri(): URI
Link copied to clipboard
fun AbstractBuffer.readUuid(): UUID
Link copied to clipboard
fun AbstractBuffer.readVoid()
Link copied to clipboard
inline fun <T> IRdTask<T>.wait(timeoutMs: Long, pump: () -> Unit): Boolean
Link copied to clipboard
fun SerializationCtx.withInternRootsHere(owner: RdBindableBase, vararg newRoots: String): SerializationCtx
Link copied to clipboard
fun <T> AbstractBuffer.writeArray(value: Array<T>, elemWriter: (T) -> Unit)
Link copied to clipboard
fun AbstractBuffer.writeBool(value: Boolean)
Link copied to clipboard
fun AbstractBuffer.writeDateTime(value: Date)
Link copied to clipboard
inline fun <T : Enum<T>> AbstractBuffer.writeEnum(value: Enum<T>)
Link copied to clipboard
inline fun <T : Enum<T>> AbstractBuffer.writeEnumSet(set: EnumSet<T>)
Link copied to clipboard
fun AbstractBuffer.writeGuid(value: UUID)
Link copied to clipboard
inline fun <T : Any> SerializationCtx.writeInterned(    stream: AbstractBuffer,     value: T,     internKey: String,     writeValueDelegate: (SerializationCtx, AbstractBuffer, T) -> Unit)
Link copied to clipboard
inline fun <T> AbstractBuffer.writeList(value: List<T>, elemWriter: (T) -> Unit)
Link copied to clipboard
fun <T : Any> AbstractBuffer.writeNullable(value: T?, elemWriter: (T) -> Unit)
Link copied to clipboard
fun AbstractBuffer.writeRdId(value: RdId)
Link copied to clipboard
fun AbstractBuffer.writeSecureString(string: RdSecureString)
Link copied to clipboard
fun AbstractBuffer.writeTimeSpan(value: Duration)
Link copied to clipboard
fun AbstractBuffer.writeUri(value: URI)
Link copied to clipboard
fun AbstractBuffer.writeUuid(value: UUID)
Link copied to clipboard
fun AbstractBuffer.writeVoid(void: Unit)

Properties

Link copied to clipboard
val IMarshaller<*>.fqn: String
Link copied to clipboard
val <T> IRdTask<T>.isCanceled: Boolean
Link copied to clipboard
val <T> IRdTask<T>.isFaulted: Boolean
Link copied to clipboard
val <T> IRdTask<T>.isSucceeded: Boolean
Link copied to clipboard
val IRdDynamic.protocolOrThrow: IProtocol
Link copied to clipboard
val IWire.serverPort: Int