using System; using System.Threading.Tasks; namespace Pole.Sagas.Client.Abstraction { public interface IEventSender { Task SagaStarted(string sagaId, string serviceName, DateTime addTime); Task SagaEnded(string sagaId, DateTime ExpiresAt); Task ActivityExecuting(string activityId,string activityName, string sagaId, string parameterData, int order, DateTime addTime); Task ActivityExecuteAborted(string activityId); /// /// /// /// /// sagaId 不为空 服务端会set saga.status=ended /// /// Task ActivityCompensateAborted(string activityId, string sagaId, string errors); Task ActivityCompensated(string activityId); Task ActivityOvertimeCompensated(string activityId,bool compensated); Task ActivityExecuteOvertime(string activityId); Task ActivityRevoked(string activityId); } }