Class ErlDataStore
Represents a CRUD data store that uses Erlang backend
Inheritance
System.Object
ErlDataStore
Implements
System.IDisposable
Inherited Members
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.ToString()
Assembly: NFX.Erlang.dll
Syntax
public class ErlDataStore : ServiceWithInstrumentationBase<object>, IService, INamed, ILocalizedTimeProvider, ICRUDDataStoreImplementation, ICRUDDataStore, ICRUDOperations, ICRUDTransactionOperations, ICRUDSubscriptionStoreImplementation, ICRUDSubscriptionStore, IDataStoreImplementation, IDataStore, IApplicationComponent, IDisposable, IConfigurable, IInstrumentable, IExternallyParameterized
Constructors
ErlDataStore()
Declaration
ErlDataStore(Object)
Declaration
public ErlDataStore(object director)
Parameters
Type |
Name |
Description |
System.Object |
director |
|
Fields
AFFECTED
Declaration
public static readonly ErlAtom AFFECTED
Field Value
BONJOUR_OK_PATTERN
Declaration
public static readonly IErlObject BONJOUR_OK_PATTERN
Field Value
CRUD_WRITE_OK_PATTERN
Declaration
public static readonly IErlObject CRUD_WRITE_OK_PATTERN
Field Value
DEFAULT_RPC_TIMEOUT_MS
Declaration
public const int DEFAULT_RPC_TIMEOUT_MS = 20000
Field Value
Type |
Description |
System.Int32 |
|
DEFAULT_TARGET_NAME
Declaration
public const string DEFAULT_TARGET_NAME = "ERLANG"
Field Value
Type |
Description |
System.String |
|
ENCODING
Declaration
public static readonly ErlAtom ENCODING
Field Value
ERL_FILE_SUFFIX
Declaration
public const string ERL_FILE_SUFFIX = ".erl.qry"
Field Value
Type |
Description |
System.String |
|
NFX_BONJOUR_FUN
Declaration
public static readonly ErlAtom NFX_BONJOUR_FUN
Field Value
NFX_CRUD_MOD
Declaration
public static readonly ErlAtom NFX_CRUD_MOD
Field Value
NFX_DELETE_FUN
Declaration
public static readonly ErlAtom NFX_DELETE_FUN
Field Value
NFX_RPC_FUN
Declaration
public static readonly ErlAtom NFX_RPC_FUN
Field Value
NFX_SUBSCRIBE_FUN
Declaration
public static readonly ErlAtom NFX_SUBSCRIBE_FUN
Field Value
NFX_WRITE_FUN
Declaration
public static readonly ErlAtom NFX_WRITE_FUN
Field Value
SCHEMA_CONTENT
Declaration
public static readonly ErlAtom SCHEMA_CONTENT
Field Value
Properties
CallTimeoutMs
Declaration
[Config]
public int CallTimeoutMs { get; set; }
Property Value
Type |
Description |
System.Int32 |
|
InstrumentationEnabled
Declaration
[Config(Default = false)]
[ExternalParameter(new string[]{"data", "instrumentation"})]
public override bool InstrumentationEnabled { get; set; }
Property Value
Type |
Description |
System.Boolean |
|
Overrides
NFX.ServiceModel.ServiceWithInstrumentationBase<System.Object>.InstrumentationEnabled
LocalName
Shortcut to ErlApp.Node name
Declaration
public string LocalName { get; }
Property Value
Type |
Description |
System.String |
|
LogLevel
Declaration
[Config]
public StoreLogLevel LogLevel { get; set; }
Property Value
Mailboxes
Declaration
public IRegistry<Mailbox> Mailboxes { get; }
Property Value
Map
Returns the map lazily obtaining it when needed
Declaration
protected SchemaMap Map { get; }
Property Value
NextRequestID
Generates nest sequential request ID
Declaration
protected int NextRequestID { get; }
Property Value
Type |
Description |
System.Int32 |
|
QueryResolver
Declaration
public ICRUDQueryResolver QueryResolver { get; }
Property Value
RemoteCookie
Declaration
[Config]
public string RemoteCookie { get; set; }
Property Value
Type |
Description |
System.String |
|
RemoteName
Declaration
[Config]
public string RemoteName { get; set; }
Property Value
Type |
Description |
System.String |
|
ScriptFileSuffix
Declaration
public string ScriptFileSuffix { get; }
Property Value
Type |
Description |
System.String |
|
StoreType
Declaration
public CRUDDataStoreType StoreType { get; }
Property Value
Subscriptions
Declaration
public IRegistry<Subscription> Subscriptions { get; }
Property Value
SupportsTransactions
Declaration
public bool SupportsTransactions { get; }
Property Value
Type |
Description |
System.Boolean |
|
SupportsTrueAsynchrony
Declaration
public bool SupportsTrueAsynchrony { get; }
Property Value
Type |
Description |
System.Boolean |
|
TargetName
Declaration
[Config]
public string TargetName { get; set; }
Property Value
Type |
Description |
System.String |
|
Methods
BeginTransaction(IsolationLevel, TransactionDisposeBehavior)
Declaration
public virtual CRUDTransaction BeginTransaction(IsolationLevel iso = IsolationLevel.ReadCommitted, TransactionDisposeBehavior behavior = TransactionDisposeBehavior.CommitOnDispose)
Parameters
Returns
BeginTransactionAsync(IsolationLevel, TransactionDisposeBehavior)
Declaration
public virtual Task<CRUDTransaction> BeginTransactionAsync(IsolationLevel iso = IsolationLevel.ReadCommitted, TransactionDisposeBehavior behavior = TransactionDisposeBehavior.CommitOnDispose)
Parameters
Returns
CRUDWrite(Row, Boolean)
Declaration
protected virtual int CRUDWrite(Row row, bool delete = false)
Parameters
Type |
Name |
Description |
Row |
row |
|
System.Boolean |
delete |
|
Returns
Type |
Description |
System.Int32 |
|
DecompressBytes(Byte[])
Declaration
protected byte[] DecompressBytes(byte[] data)
Parameters
Type |
Name |
Description |
System.Byte[] |
data |
|
Returns
Type |
Description |
System.Byte[] |
|
DecompressString(Byte[])
Declaration
protected string DecompressString(byte[] data)
Parameters
Type |
Name |
Description |
System.Byte[] |
data |
|
Returns
Type |
Description |
System.String |
|
Delete(Row, IDataStoreKey)
Declaration
public virtual int Delete(Row row, IDataStoreKey key = null)
Parameters
Returns
Type |
Description |
System.Int32 |
|
DeleteAsync(Row, IDataStoreKey)
Declaration
public virtual Task<int> DeleteAsync(Row row, IDataStoreKey key = null)
Parameters
Returns
Type |
Description |
System.Threading.Tasks.Task<System.Int32> |
|
Destructor()
Declaration
protected override void Destructor()
Overrides
DoSignalStop()
Declaration
protected override void DoSignalStop()
Overrides
DoStart()
Declaration
protected override void DoStart()
Overrides
DoWaitForCompleteStop()
Declaration
protected override void DoWaitForCompleteStop()
Overrides
ExecuteRPC(ErlAtom, ErlAtom, ErlList, ErlMbox)
Declaration
protected IErlObject ExecuteRPC(ErlAtom module, ErlAtom func, ErlList args, ErlMbox mbox = null)
Parameters
Returns
ExecuteWithoutFetch(Query[])
Declaration
public virtual int ExecuteWithoutFetch(params Query[] queries)
Parameters
Type |
Name |
Description |
Query[] |
queries |
|
Returns
Type |
Description |
System.Int32 |
|
ExecuteWithoutFetchAsync(Query[])
Declaration
public virtual Task<int> ExecuteWithoutFetchAsync(params Query[] queries)
Parameters
Type |
Name |
Description |
Query[] |
queries |
|
Returns
Type |
Description |
System.Threading.Tasks.Task<System.Int32> |
|
GetSchema(Query)
Declaration
public Schema GetSchema(Query query)
Parameters
Type |
Name |
Description |
Query |
query |
|
Returns
GetSchemaAsync(Query)
Declaration
public Task<Schema> GetSchemaAsync(Query query)
Parameters
Type |
Name |
Description |
Query |
query |
|
Returns
Type |
Description |
System.Threading.Tasks.Task<Schema> |
|
Insert(Row, FieldFilterFunc)
Declaration
public virtual int Insert(Row row, FieldFilterFunc filter = null)
Parameters
Returns
Type |
Description |
System.Int32 |
|
InsertAsync(Row, FieldFilterFunc)
Declaration
public virtual Task<int> InsertAsync(Row row, FieldFilterFunc filter = null)
Parameters
Returns
Type |
Description |
System.Threading.Tasks.Task<System.Int32> |
|
Load(Query[])
Declaration
public virtual List<RowsetBase> Load(params Query[] queries)
Parameters
Type |
Name |
Description |
Query[] |
queries |
|
Returns
Type |
Description |
System.Collections.Generic.List<RowsetBase> |
|
LoadAsync(Query[])
Declaration
public virtual Task<List<RowsetBase>> LoadAsync(params Query[] queries)
Parameters
Type |
Name |
Description |
Query[] |
queries |
|
Returns
Type |
Description |
System.Threading.Tasks.Task<System.Collections.Generic.List<RowsetBase>> |
|
LoadOneRow(Query)
Declaration
public virtual Row LoadOneRow(Query query)
Parameters
Type |
Name |
Description |
Query |
query |
|
Returns
LoadOneRowAsync(Query)
Declaration
public virtual Task<Row> LoadOneRowAsync(Query query)
Parameters
Type |
Name |
Description |
Query |
query |
|
Returns
Type |
Description |
System.Threading.Tasks.Task<Row> |
|
LoadOneRowset(Query)
Declaration
public virtual RowsetBase LoadOneRowset(Query query)
Parameters
Type |
Name |
Description |
Query |
query |
|
Returns
LoadOneRowsetAsync(Query)
Declaration
public virtual Task<RowsetBase> LoadOneRowsetAsync(Query query)
Parameters
Type |
Name |
Description |
Query |
query |
|
Returns
Type |
Description |
System.Threading.Tasks.Task<RowsetBase> |
|
MakeScriptQueryHandler(QuerySource)
Declaration
public CRUDQueryHandler MakeScriptQueryHandler(QuerySource querySource)
Parameters
Returns
OpenCursor(Query)
Declaration
public Cursor OpenCursor(Query query)
Parameters
Type |
Name |
Description |
Query |
query |
|
Returns
OpenCursorAsync(Query)
Declaration
public Task<Cursor> OpenCursorAsync(Query query)
Parameters
Type |
Name |
Description |
Query |
query |
|
Returns
Type |
Description |
System.Threading.Tasks.Task<Cursor> |
|
OpenMailbox(String)
Declaration
public Mailbox OpenMailbox(string name)
Parameters
Type |
Name |
Description |
System.String |
name |
|
Returns
Save(RowsetBase[])
Declaration
public virtual int Save(params RowsetBase[] rowsets)
Parameters
Returns
Type |
Description |
System.Int32 |
|
SaveAsync(RowsetBase[])
Declaration
public virtual Task<int> SaveAsync(params RowsetBase[] rowsets)
Parameters
Returns
Type |
Description |
System.Threading.Tasks.Task<System.Int32> |
|
Subscribe(String, Query, Mailbox, Object)
Declaration
public Subscription Subscribe(string name, Query query, Mailbox recipient, object correlate = null)
Parameters
Type |
Name |
Description |
System.String |
name |
|
Query |
query |
|
Mailbox |
recipient |
|
System.Object |
correlate |
|
Returns
TestConnection()
Declaration
public void TestConnection()
Update(Row, IDataStoreKey, FieldFilterFunc)
Declaration
public virtual int Update(Row row, IDataStoreKey key = null, FieldFilterFunc filter = null)
Parameters
Returns
Type |
Description |
System.Int32 |
|
UpdateAsync(Row, IDataStoreKey, FieldFilterFunc)
Declaration
public virtual Task<int> UpdateAsync(Row row, IDataStoreKey key = null, FieldFilterFunc filter = null)
Parameters
Returns
Type |
Description |
System.Threading.Tasks.Task<System.Int32> |
|
Upsert(Row, FieldFilterFunc)
Declaration
public virtual int Upsert(Row row, FieldFilterFunc filter = null)
Parameters
Returns
Type |
Description |
System.Int32 |
|
UpsertAsync(Row, FieldFilterFunc)
Declaration
public virtual Task<int> UpsertAsync(Row row, FieldFilterFunc filter = null)
Parameters
Returns
Type |
Description |
System.Threading.Tasks.Task<System.Int32> |
|
Implements
System.IDisposable
Extension Methods