Prajna


DistributedFunctionStore

Representing a single registered distributed function DistributedFunctionStore provides a central location for handling distributed functions.

Instance members

Instance memberDescription
ConcurrentCapacity()
Signature: unit -> int

Capacity of the DistributedFunctionStore

ConcurrentCapacity()
Signature: unit -> unit

Capacity of the DistributedFunctionStore

NumberOfRegistered()
Signature: unit -> int

Number of registered distributed functions.

RegisterAction(name, act)
Signature: (name:string * act:('T -> unit)) -> IDisposable
Type parameters: 'T

Register an action Action<'T> name of the action, for debugging purpose An action of type Action<'T> to be registered

RegisterAction(...)
Signature: (name:string * capacity:int * privateID:Guid * domainID:Guid * act:('T -> unit) * bReload:bool) -> IDisposable
Type parameters: 'T

Register an action Action<'T> name of the action, for debugging purpose Concurrency level, if larger than 1, multiple action can be executed at the same time, if less than or equal to 0, no capacity control is exercised private ID of the provider ID of the particular function/action An action of type Action<'T> to be registered Whether allows Action reloading. If bReload is false, Prajna will throw an exception if an item of same name already exists in contract store.

RegisterFunction(name, func)
Signature: (name:string * func:(unit -> 'TResult)) -> IDisposable
Type parameters: 'TResult

Register a function Func<'TResult> name of the function A function of type Func<'TResult> to be registered

RegisterFunction(...)
Signature: (name:string * capacity:int * privateID:Guid * domainID:Guid * func:(unit -> 'TResult) * bReload:bool) -> IDisposable
Type parameters: 'TResult

Register a function Func<'TResult> name of the action Concurrency level, if larger than 1, multiple action can be executed at the same time, if less than or equal to 0, no capacity control is exercised private ID of the provider ID of the particular function/action A function of type Func<'T,'TResult> to be registered Whether allows Action reloading. If bReload is false, Prajna will throw an exception if an item of same name already exists in contract store.

RegisterFunction(name, func)
Signature: (name:string * func:('T -> 'TResult)) -> IDisposable
Type parameters: 'T, 'TResult

Register as a function Func<'T,'TResult> name of the action A function of type Func<'T,'TResult> to be registered

RegisterFunction(...)
Signature: (name:string * capacity:int * privateID:Guid * domainID:Guid * func:('T -> 'TResult) * bReload:bool) -> IDisposable
Type parameters: 'T, 'TResult

Register as a function Func<'T,'TResult> name of the action Concurrency level, if larger than 1, multiple action can be executed at the same time, if less than or equal to 0, no capacity control is exercised private ID of the provider ID of the particular function/action A function of type Func<'T,'TResult> to be registered Whether allows Action reloading. If bReload is false, Prajna will throw an exception if an item of same name already exists in contract store.

RegisterProvider(provider)
Signature: provider:DistributedFunctionProvider -> unit

Register a provider, use this provider as the default.

RegisterUnitAction(name, act)
Signature: (name:string * act:(unit -> unit)) -> IDisposable

Register an action without input and output parameter. name of the action An action to be registered

RegisterUnitAction(...)
Signature: (name:string * capacity:int * privateID:Guid * domainID:Guid * act:(unit -> unit) * bReload:bool) -> IDisposable

Register an action without input and output parameter. name of the action Concurrency level, if larger than 1, multiple action can be executed at the same time, if less than or equal to 0, no capacity control is exercised private ID of the provider ID of the particular function/action An action of type to be registered Whether allows Action reloading. If bReload is false, Prajna will throw an exception if an item of same name already exists in contract store.

TryImportActionLocal(name)
Signature: name:string -> 'T -> unit
Type parameters: 'T

Try import an action to execution

TryImportFunctionLocal(name)
Signature: name:string -> 'T -> 'TResult
Type parameters: 'T, 'TResult

Try import a function to execution

TryImportFunctionLocal(name)
Signature: name:string -> unit -> 'TResult
Type parameters: 'TResult

Try import an function with no input parameter

TryImportUnitActionLocal(name)
Signature: name:string -> unit -> unit

Try import an action to execution

Static members

Static memberDescription
Current
Signature: DistributedFunctionStore

Access the common DistributedFunctionStore for the address space.

DefaultSerializerTag()
Signature: unit -> DefaultSerializerForDistributedFunction

Default tag for the codec

DefaultSerializerTag()
Signature: unit -> unit

Default tag for the codec

InstallCustomizedSerializer(...)
Signature: (fmt:string * serializeFunc:('T * Stream -> unit) * deserializeFunc:(Stream -> 'T)) -> unit
Type parameters: 'T

Install Serializer, only one serializer should be installed per type. User should call this to supply its own serializer/deserializer if desired.

InstallDefaultSerializer()
Signature: unit -> Guid * Guid []
Type parameters: 'T

Install Default Serializer

Fork me on GitHub