public MetricsEventSaver( IEventSaver eventSaver, IClaptrapDesign claptrapDesign) { _eventSaver = eventSaver; _claptrapDesign = claptrapDesign; }
public ClaptrapSharedModule( IClaptrapDesign claptrapDesign, IClaptrapIdentity identity) { _claptrapDesign = claptrapDesign; _identity = identity; }
public MetricsClaptrapLifetimeInterceptor( IClaptrapIdentity identity, IClaptrapDesign claptrapDesign) { _identity = identity; _claptrapDesign = claptrapDesign; }
public ClaptrapMasterModule( IClaptrapDesign claptrapDesign, IClaptrapIdentity identity) { _claptrapDesign = claptrapDesign; _identity = identity; }
public static Activity?AddClaptrapTags(this Activity?activity, IClaptrapDesign design, IClaptrapIdentity identity) { return(activity? .AddTag(IsMinion, design.IsMinion()) .AddTag(TypeCode, identity.TypeCode) .AddTag(Id, identity.Id)); }
public MetricsStateLoader( IStateLoader stateLoader, IClaptrapDesign claptrapDesign) { _stateLoader = stateLoader; _claptrapDesign = claptrapDesign; }
public ClaptrapMinionModule(IClaptrapDesign masterDesign, IClaptrapIdentity masterIdentity, IClaptrapIdentity minionIdentity) { _masterDesign = masterDesign; _masterIdentity = masterIdentity; _minionIdentity = minionIdentity; }
public static AutoMock CreateAutoMock(this IClaptrapDesign claptrapDesign, string id, IStateData stateData, Action <ContainerBuilder, ActorHost>?builderAction = default, Func <AutoMock>?autoMockFunc = default) { var claptrapIdentity = new ClaptrapIdentity(id, claptrapDesign.ClaptrapTypeCode); var actorTypeInformation = ActorTypeInformation.Get(claptrapDesign.ClaptrapBoxImplementationType); var actorHost = new ActorHost(actorTypeInformation, new ActorId(id),
public void AddOrReplace(IClaptrapDesign design) { var typeCode = design.ClaptrapTypeCode; if (_globalDic.TryGetValue(typeCode, out var old)) { _logger.LogInformation( "found a old claptrap design in global store and it will be replaced. old: {@design}", old); } _globalDic[typeCode] = design; _logger.LogInformation( "a claptrap design add to global store. design: {@design}", design); }
private string OneDesign(IClaptrapDesign claptrapDesign) { var sb = new StringBuilder(); sb.AppendLine( claptrapDesign.IsMinion() ? $"## {ClaptrapLink(claptrapDesign.ClaptrapTypeCode)} minion of {ClaptrapLink(claptrapDesign.ClaptrapMasterDesign.ClaptrapTypeCode)}" : $"## {ClaptrapLink(claptrapDesign.ClaptrapTypeCode)}"); sb.AppendLine("|event|handler|"); sb.AppendLine("|---|---|"); foreach (var(key, value) in claptrapDesign.EventHandlerDesigns) { sb.AppendLine( $"|{EventLink(claptrapDesign.MasterOfSelfTypeCode(), key)}|{value.EventHandlerType.Name}|"); } return(sb.ToString()); }
private async Task AsyncEventingBasicConsumerOnReceived(object sender, BasicDeliverEventArgs args, IClaptrapDesign minionDesign) { _logger.LogDebug("message received from rabbit mq, exchange : {exchange} ,routeKey : {routeKey}", args.Exchange, args.RoutingKey); var consumer = (IAsyncBasicConsumer)sender; consumer.Model.BasicAck(args.DeliveryTag, false); var payload = Decompress(args); var data = _messageSerializer.Deserialize(payload); var evt = _eventStringSerializer.Deserialize(data); var minionId = new ClaptrapIdentity(evt.ClaptrapIdentity.Id, minionDesign.ClaptrapTypeCode); var minionProxy = _minionLocator.CreateProxy(minionId); _logger.LogTrace("create minion proxy for {id}", minionId); await minionProxy.MasterEventReceivedAsync(new[] { evt }); _logger.LogDebug("a message sent to minion {minionId}", minionId); }
public ClaptrapDesign( IClaptrapDesign claptrapDesign) { ClaptrapTypeCode = claptrapDesign.ClaptrapTypeCode; ClaptrapMasterDesign = claptrapDesign.ClaptrapMasterDesign; ClaptrapOptions = claptrapDesign.ClaptrapOptions; StateDataType = claptrapDesign.StateDataType; EventLoaderFactoryType = claptrapDesign.EventLoaderFactoryType; EventSaverFactoryType = claptrapDesign.EventSaverFactoryType; StateLoaderFactoryType = claptrapDesign.StateLoaderFactoryType; StateSaverFactoryType = claptrapDesign.StateSaverFactoryType; InitialStateDataFactoryType = claptrapDesign.InitialStateDataFactoryType; StateHolderFactoryType = claptrapDesign.StateHolderFactoryType; EventHandlerFactoryFactoryType = claptrapDesign.EventHandlerFactoryFactoryType; EventNotifierFactoryType = claptrapDesign.EventNotifierFactoryType; EventHandlerDesigns = claptrapDesign.EventHandlerDesigns; ClaptrapBoxInterfaceType = claptrapDesign.ClaptrapBoxInterfaceType; ClaptrapBoxImplementationType = claptrapDesign.ClaptrapBoxImplementationType; ExtendInfos = claptrapDesign.ExtendInfos; ClaptrapStorageProviderOptions = claptrapDesign.ClaptrapStorageProviderOptions; }
public static void FillDisplayInfo(IClaptrapDesign design) { SetValueIfFound(design.ExtendInfos, ClaptrapDisplayName, GetDisplayName(new[] { design.ClaptrapBoxImplementationType, design.ClaptrapBoxInterfaceType, design.StateDataType })); SetValueIfFound(design.ExtendInfos, ClaptrapDescription, GetDescription(new[] { design.ClaptrapBoxImplementationType, design.ClaptrapBoxInterfaceType, design.StateDataType })); foreach (var(_, eventHandlerDesign) in design.EventHandlerDesigns) { SetValueIfFound(eventHandlerDesign.ExtendInfos, EventDisplayName, GetDisplayName(new[] { eventHandlerDesign.EventDataType })); SetValueIfFound(eventHandlerDesign.ExtendInfos, EventDescription, GetDescription(new[] { eventHandlerDesign.EventDataType })); SetValueIfFound(eventHandlerDesign.ExtendInfos, EventHandlerDisplayName, GetDisplayName(new[] { eventHandlerDesign.EventHandlerType })); SetValueIfFound(eventHandlerDesign.ExtendInfos, EventHandlerDescription, GetDescription(new[] { eventHandlerDesign.EventHandlerType })); }
static IEnumerable <Type> GetTypes(IClaptrapDesign design) { yield return(design.EventLoaderFactoryType); yield return(design.EventSaverFactoryType); yield return(design.StateHolderFactoryType); yield return(design.StateLoaderFactoryType); yield return(design.StateSaverFactoryType); yield return(design.EventHandlerFactoryFactoryType); yield return(design.InitialStateDataFactoryType); yield return(design.EventNotifierFactoryType); foreach (var designEventHandlerDesign in design.EventHandlerDesigns) { yield return(designEventHandlerDesign.Value.EventHandlerType); } }
public static bool IsMinion( this IClaptrapDesign design) { return(ContainsMaster(design)); }
public SQLiteStorageModule(IClaptrapDesign design) { _design = design; }
public PostgreSQLMigrationModule(IClaptrapDesign design) { _design = design; }
public RelationalStateSaverModule(IClaptrapDesign design) { _design = design; }
public RelationalEventSaverModule(IClaptrapDesign design) { _design = design; }
public MongoDBMigrationModule(IClaptrapDesign design) { _design = design; }
public static bool ContainsMaster( this IClaptrapDesign design) { return(design.ClaptrapMasterDesign != null); }
public MasterClaptrapInfo(IClaptrapIdentity identity, IClaptrapDesign design) { Identity = identity; Design = design; }
public MySqlMigrationModule(IClaptrapDesign design) { _design = design; }
public static string MasterOfSelfTypeCode(this IClaptrapDesign design) { return(design.ContainsMaster() ? design.ClaptrapMasterDesign.ClaptrapTypeCode : design.ClaptrapTypeCode); }