public FileBasedFabric( ITransitionRunner transitionRunner, INumericIdGenerator numericIdGenerator, IFileBasedFabricSerializerFactoryAdvisor serializerFactoryAdvisor, INumericIdGenerator idGenerator) { _transitionRunner = transitionRunner; Directory = Path.GetFullPath(Path.Combine(System.IO.Directory.GetCurrentDirectory(), "data")); TransitionsDirectory = Path.Combine(Directory, "transitions"); RoutinesDirectory = Path.Combine(Directory, "routines"); EventsDirectory = Path.Combine(Directory, "events"); var serializerFactory = serializerFactoryAdvisor.Advise(); _serializationFormat = serializerFactory.Format; Serializer = serializerFactory.Create(); Connector = new FileBasedFabricConnector( numericIdGenerator, TransitionsDirectory, RoutinesDirectory, EventsDirectory, AddEventListener, Serializer, _serializationFormat); }
public AzureFunctionsFabric( ISerializerFactorySelector serializerFactorySelector, INumericIdGenerator idGenerator, ITransitionRunner transitionRunner, IAzureWebJobsEnviromentalSettings azureWebJobsEnviromentalSettings, ICloudStorageAccountFactory cloudStorageAccountFactory, AzureFunctionsFabricSettings settings, IServiceProxyBuilder serviceProxyBuilder, IRoutineMethodResolver routineMethodResolver, IMethodInvokerFactory methodInvokerFactory, IServiceRegistry serviceRegistry) { _transitionRunner = transitionRunner; _idGenerator = idGenerator; _settings = settings; _serviceProxyBuilder = serviceProxyBuilder; _routineMethodResolver = routineMethodResolver; _methodInvokerFactory = methodInvokerFactory; _serviceRegistry = serviceRegistry; #warning Need configurable serializer // Hard-code this for now. _defaultSerializer = serializerFactorySelector.Select("dasyncjson").Create(); _storageAccountConnectionString = azureWebJobsEnviromentalSettings.DefaultStorageConnectionString; _storageAccount = cloudStorageAccountFactory.Create(_storageAccountConnectionString); //#warning make sure that site name is alpha-numeric and does not start with a number // var prefix = azureWebJobsEnviromentalSettings.WebSiteName.ToLowerInvariant(); var prefix = ""; _routinesTable = _storageAccount.TableClient.GetTableReference(prefix + "routines"); _servicesTable = _storageAccount.TableClient.GetTableReference(prefix + "services"); }
public InMemoryFabric(ITransitionRunner transitionRunner, IInMemoryFabricSerializerFactoryAdvisor serializerFactoryAdvisor) { _transitionRunner = transitionRunner; DataStore = InMemoryDataStore.Create(ScheduleMessage); var serializerFactory = serializerFactoryAdvisor.Advise(); _serializationFormat = serializerFactory.Format; Serializer = serializerFactory.Create(); Connector = new InMemoryFabricConnector(DataStore, Serializer, _serializationFormat); }
public InMemoryFabric(ITransitionRunner transitionRunner, IInMemoryFabricSerializerFactoryAdvisor serializerFactoryAdvisor, IUniqueIdGenerator numericIdGenerator, IServiceProviderScope serviceProviderScope) { _transitionRunner = transitionRunner; _uniqueIdGenerator = numericIdGenerator; _serviceProviderScope = serviceProviderScope; DataStore = InMemoryDataStore.Create(ScheduleMessage); var serializerFactory = serializerFactoryAdvisor.Advise(); _serializationFormat = serializerFactory.Format; Serializer = serializerFactory.Create(); Connector = new InMemoryFabricConnector(DataStore, Serializer, _serializationFormat); }