Table of Contents

Interface IKEFCoreCluster

Namespace
MASES.EntityFrameworkCore.KNet.Storage.Internal
Assembly
MASES.EntityFrameworkCore.KNet.dll

This is an internal API that supports the Entity Framework Core infrastructure and not subject to the same compatibility standards as public APIs. It may be changed or removed without notice in any release. You should only use it directly in your code with extreme caution and knowing that doing so can result in application failures when updating to a new Entity Framework Core release.

public interface IKEFCoreCluster : IDisposable
Inherited Members

Properties

ClusterId

The Apche Kafka cluster identifier

string ClusterId { get; }

Property Value

string

ComplexTypeConverterFactory

IComplexTypeConverterFactory ComplexTypeConverterFactory { get; }

Property Value

IComplexTypeConverterFactory

InfrastructureLogger

The IDiagnosticsLogger<TLoggerCategory> to be used to log info within the provider

IDiagnosticsLogger<DbLoggerCategory.Infrastructure> InfrastructureLogger { get; }

Property Value

IDiagnosticsLogger<DbLoggerCategory.Infrastructure>

Model

The associated IModel

IModel Model { get; }

Property Value

IModel

Options

KEFCoreOptionsExtension Options { get; }

Property Value

KEFCoreOptionsExtension

UpdateAdapterFactory

The associated IUpdateAdapterFactory

IUpdateAdapterFactory UpdateAdapterFactory { get; }

Property Value

IUpdateAdapterFactory

ValueGeneratorSelector

Returns the IValueGeneratorSelector instance

IValueGeneratorSelector ValueGeneratorSelector { get; }

Property Value

IValueGeneratorSelector

Methods

CreateTopicForEntity(IEntityType)

Creates a topic for IEntityType on Apache Kafka cluster

string CreateTopicForEntity(IEntityType entityType)

Parameters

entityType IEntityType

Returns

string

EnsureConnected(IDiagnosticsLogger<Update>)

bool EnsureConnected(IDiagnosticsLogger<DbLoggerCategory.Update> updateLogger)

Parameters

updateLogger IDiagnosticsLogger<DbLoggerCategory.Update>

Returns

bool

EnsureCreated(IDiagnosticsLogger<Update>)

bool EnsureCreated(IDiagnosticsLogger<DbLoggerCategory.Update> updateLogger)

Parameters

updateLogger IDiagnosticsLogger<DbLoggerCategory.Update>

Returns

bool

EnsureDeleted(IDiagnosticsLogger<Update>)

bool EnsureDeleted(IDiagnosticsLogger<DbLoggerCategory.Update> updateLogger)

Parameters

updateLogger IDiagnosticsLogger<DbLoggerCategory.Update>

Returns

bool

EnsureSynchronized(long)

Verify if local instance is synchronized with the IKEFCoreCluster instance

bool? EnsureSynchronized(long timeout)

Parameters

timeout long

Returns

bool?

ExecuteTransaction(IList<IUpdateEntry>, IDiagnosticsLogger<Update>)

Executes a transaction

int ExecuteTransaction(IList<IUpdateEntry> entries, IDiagnosticsLogger<DbLoggerCategory.Update> updateLogger)

Parameters

entries IList<IUpdateEntry>
updateLogger IDiagnosticsLogger<DbLoggerCategory.Update>

Returns

int

ExecuteTransactionAsync(IList<IUpdateEntry>, IDiagnosticsLogger<Update>, CancellationToken)

Executes a transaction in async

Task<int> ExecuteTransactionAsync(IList<IUpdateEntry> entries, IDiagnosticsLogger<DbLoggerCategory.Update> updateLogger, CancellationToken cancellationToken = default)

Parameters

entries IList<IUpdateEntry>
updateLogger IDiagnosticsLogger<DbLoggerCategory.Update>
cancellationToken CancellationToken

Returns

Task<int>

GetTable(IEntityType)

Retrieves the IKEFCoreTable associated to IEntityType in the instance of IKEFCoreCluster

IKEFCoreTable GetTable(IEntityType entityType)

Parameters

entityType IEntityType

Returns

IKEFCoreTable

GetValueBuffer(IEntityType, object?[])

Retrieve the ValueBuffer for a specified key

ValueBuffer? GetValueBuffer(IEntityType entityType, object?[] keyValues)

Parameters

entityType IEntityType
keyValues object[]

Returns

ValueBuffer?

GetValueBuffers(IEntityType)

Retrieve the ValueBuffer

IEnumerable<ValueBuffer> GetValueBuffers(IEntityType entityType)

Parameters

entityType IEntityType

Returns

IEnumerable<ValueBuffer>

GetValueBuffersByPrefix(IEntityType, object?[])

Retrieve the ValueBuffer using prefix scan

IEnumerable<ValueBuffer> GetValueBuffersByPrefix(IEntityType entityType, object?[] prefixValues)

Parameters

entityType IEntityType
prefixValues object[]

Returns

IEnumerable<ValueBuffer>

GetValueBuffersRange(IEntityType, object?[]?, object?[]?)

Retrieve the ValueBuffer in a range of keys

IEnumerable<ValueBuffer> GetValueBuffersRange(IEntityType entityType, object?[]? rangeStart, object?[]? rangeEnd)

Parameters

entityType IEntityType
rangeStart object[]
rangeEnd object[]

Returns

IEnumerable<ValueBuffer>

GetValueBuffersReverse(IEntityType)

Retrieve the ValueBuffer in reverse order

IEnumerable<ValueBuffer> GetValueBuffersReverse(IEntityType entityType)

Parameters

entityType IEntityType

Returns

IEnumerable<ValueBuffer>

GetValueBuffersReverseRange(IEntityType, object?[]?, object?[]?)

Retrieve the ValueBuffer in a range of keys

IEnumerable<ValueBuffer> GetValueBuffersReverseRange(IEntityType entityType, object?[]? rangeStart, object?[]? rangeEnd)

Parameters

entityType IEntityType
rangeStart object[]
rangeEnd object[]

Returns

IEnumerable<ValueBuffer>

LatestOffsetForEntity(IEntityType)

Returns the latest offset for each partition associated to entityType

IDictionary<int, long> LatestOffsetForEntity(IEntityType entityType)

Parameters

entityType IEntityType

The IEntityType to check

Returns

IDictionary<int, long>

A IDictionary<TKey, TValue> containing the values

ResetStreams()

Resets the Apache Kafka streams application associated to this IKEFCoreCluster instance

void ResetStreams()