using System; using System.Collections.Generic; using System.Threading.Tasks; namespace Tapeti.Flow { public interface IFlowStore { Task Load(); Task FindFlowStateID(Guid continuationID); Task LockFlowState(Guid flowStateID); } public interface IFlowStateLock : IDisposable { Guid FlowStateID { get; } Task GetFlowState(); Task StoreFlowState(FlowState flowState); Task DeleteFlowState(); } public class FlowState { public string Metadata { get; set; } public string Data { get; set; } public Dictionary Continuations { get; set; } } }