private static FunctionDefinition CreateTriggeredFunctionDefinitionImpl <TTriggerValue>( ITriggerBinding triggerBinding, string parameterName, IFunctionExecutor executor, FunctionDescriptor descriptor, IReadOnlyDictionary <string, IBinding> nonTriggerBindings, IFunctionInvoker invoker, SingletonManager singletonManager) { ITriggeredFunctionBinding <TTriggerValue> functionBinding = new TriggeredFunctionBinding <TTriggerValue>(descriptor, parameterName, triggerBinding, nonTriggerBindings, singletonManager); ITriggeredFunctionInstanceFactory <TTriggerValue> instanceFactory = new TriggeredFunctionInstanceFactory <TTriggerValue>(functionBinding, invoker, descriptor); ITriggeredFunctionExecutor triggerExecutor = new TriggeredFunctionExecutor <TTriggerValue>(descriptor, executor, instanceFactory); IListenerFactory listenerFactory = new ListenerFactory(descriptor, triggerExecutor, triggerBinding); return(new FunctionDefinition(descriptor, instanceFactory, listenerFactory)); }
public IFunctionDefinition CreateFunctionDefinition(IReadOnlyDictionary <string, IBinding> nonTriggerBindings, IFunctionInvoker invoker, FunctionDescriptor functionDescriptor) { ITriggeredFunctionBinding <IStorageQueueMessage> functionBinding = new TriggeredFunctionBinding <IStorageQueueMessage>(_parameterName, this, nonTriggerBindings); ITriggeredFunctionInstanceFactory <IStorageQueueMessage> instanceFactory = new TriggeredFunctionInstanceFactory <IStorageQueueMessage>(functionBinding, invoker, functionDescriptor); IListenerFactory listenerFactory = new QueueListenerFactory(_queue, _queueConfiguration, _backgroundExceptionDispatcher, _messageEnqueuedWatcherSetter, _sharedContextProvider, _log, instanceFactory); return(new FunctionDefinition(instanceFactory, listenerFactory)); }
public IFunctionDefinition CreateFunctionDefinition(IReadOnlyDictionary <string, IBinding> nonTriggerBindings, IFunctionInvoker invoker, FunctionDescriptor functionDescriptor) { ITriggeredFunctionBinding <IStorageBlob> functionBinding = new TriggeredFunctionBinding <IStorageBlob>(_parameterName, this, nonTriggerBindings); ITriggeredFunctionInstanceFactory <IStorageBlob> instanceFactory = new TriggeredFunctionInstanceFactory <IStorageBlob>(functionBinding, invoker, functionDescriptor); IStorageBlobContainer container = _client.GetContainerReference(_path.ContainerNamePattern); IListenerFactory listenerFactory = new BlobListenerFactory(_hostIdProvider, _queueConfiguration, _backgroundExceptionDispatcher, _blobWrittenWatcherSetter, _messageEnqueuedWatcherSetter, _sharedContextProvider, _log, functionDescriptor.Id, _account, container, _path, instanceFactory); return(new FunctionDefinition(instanceFactory, listenerFactory)); }
public IFunctionDefinition CreateFunctionDefinition(IReadOnlyDictionary <string, IBinding> nonTriggerBindings, IFunctionInvoker invoker, FunctionDescriptor functionDescriptor) { ITriggeredFunctionBinding <BrokeredMessage> functionBinding = new TriggeredFunctionBinding <BrokeredMessage>(_parameterName, this, nonTriggerBindings); ITriggeredFunctionInstanceFactory <BrokeredMessage> instanceFactory = new TriggeredFunctionInstanceFactory <BrokeredMessage>(functionBinding, invoker, functionDescriptor); IListenerFactory listenerFactory; if (_queueName != null) { listenerFactory = new ServiceBusQueueListenerFactory(_account, _queueName, instanceFactory); } else { listenerFactory = new ServiceBusSubscriptionListenerFactory(_account, _topicName, _subscriptionName, instanceFactory); } return(new FunctionDefinition(instanceFactory, listenerFactory)); }