示例#1
0
        public JournalReplica(IEventSourcedService <TOperation> service, RuntimeTypeModel serializer = null)
        {
            if (service == null)
            {
                throw new ArgumentNullException(nameof(service));
            }

            this.serializer = CreateSerializer(serializer ?? TypeModel.Create());
            this.service    = service;
        }
 /// <summary>
 /// Creates and returns a new reliable journal
 /// </summary>
 /// <typeparam name="TOperation"></typeparam>
 /// <param name="service"></param>
 /// <param name="serializer"></param>
 /// <returns></returns>
 public static IStatefulServiceReplica Create <TOperation>(IEventSourcedService <TOperation> service, RuntimeTypeModel serializer = null)
 {
     return(new JournalReplica <TOperation>(service, serializer));
 }
 public ReliableJournal(OperationReplicator <TOperation> replicator, IEventSourcedService <TOperation> applier)
 {
     this.replicator = replicator;
     this.applier    = applier;
 }