Table of Contents

Namespace Savvyio

Assembly: Savvyio.Core.dll

The Savvyio namespace provides the fundamental abstractions and classes for supporting a complete flow of DDD, CQRS and Event Sourcing concepts including the option to scale out using distributed subsystems.

Availability: .NET 9 and .NET 8

Extension Methods

Type Ext Methods
IMetadata ⬇️ GetCausationId, GetCorrelationId, GetMemberType, SetCausationId, SetCorrelationId, SetEventId, SetTimestamp, SetMemberType, SaveMetadata, MergeMetadata
SavvyioOptions ⬇️ AddDispatchers, AddHandlers
Task ⬇️ SingleOrDefaultAsync

Classes

HandlerDiscoveryModel

Represents a model for handler services discovery.

HandlerFactory

Provides access to factory methods for creating and configuring generic handlers that supports MEP.

HandlerServiceAssemblyModel

Represents a model for handler service assemblies.

HandlerServicesDescriptor

Provides information, in a developer friendly way, about implementations of the IHandler<TRequest> interface such as name, declared members and what type of request they handle.

HandlerServiceTypeImplementationDelegatesModel

Represents a model for handler service type implementation delegates.

HandlerServiceTypeImplementationModel

Represents a model for handler service type implementations.

MetadataDictionary

Provides a default implementation of the IMetadataDictionary interface. This class cannot be inherited.

MetadataExtensions

Extension methods for the IMetadata interface.

MetadataFactory

Provides access to factory methods for maintaining metadata in models.

Request

Represents the base class from which all implementations of IRequest should derive.

SavvyioOptions

Specifies options that is related to setting up Savvy I/O services.

SavvyioOptionsExtensions

Extension methods for the SavvyioOptions class.

TaskExtensions

Extension methods for the System.Threading.Tasks.Task<TResult> class.

Interfaces

IDataSource

A marker interface that specifies the actual I/O communication with a source of data.

IHandler

A marker interface that specifies a handler.

IHandler<TRequest>

Defines a marker interface for a generic handler.

IHandlerServicesDescriptor

Defines a contract about implementations of the IHandler<TRequest> interface such as name, declared members and what type of request they handle.

IIdentity<TKey>

Defines a generic identity typically associated with a storage such as a database.

IMarshaller

Defines methods for serializing and deserializing objects to and from a System.IO.Stream.

IMetadata

Defines a generic way to associate metadata with any type of object.

IMetadataDictionary

Defines a generic way to support metadata capabilities.

IRequest

A marker interface that specifies a request/model/event.

Delegates

AsyncEventHandler<TEventArgs>

Represents the method that will handle an event when the event provides data asynchronously.