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