internal void SendFunctionLoadRequest(FunctionRegistrationContext context) { FunctionMetadata metadata = context.Metadata; // associate the invocation input buffer with the function _functionInputBuffers[context.Metadata.FunctionId] = context.InputBuffer; // send a load request for the registered function FunctionLoadRequest request = new FunctionLoadRequest() { FunctionId = metadata.FunctionId, Metadata = new RpcFunctionMetadata() { Name = metadata.Name, Directory = metadata.FunctionDirectory ?? string.Empty, EntryPoint = metadata.EntryPoint ?? string.Empty, ScriptFile = metadata.ScriptFile ?? string.Empty } }; foreach (var binding in metadata.Bindings) { BindingInfo bindingInfo = binding.ToBindingInfo(); request.Metadata.Bindings.Add(binding.Name, bindingInfo); } SendStreamingMessage(new StreamingMessage { FunctionLoadRequest = request }); }
public void Register(FunctionRegistrationContext context) { FunctionMetadata metadata = context.Metadata; // associate the invocation input buffer with the function _functionInputBuffers[context.Metadata.FunctionId] = context.InputBuffer; // send a load request for the registered function FunctionLoadRequest request = new FunctionLoadRequest() { FunctionId = metadata.FunctionId, Metadata = new RpcFunctionMetadata() { Name = metadata.Name, Directory = metadata.FunctionDirectory, EntryPoint = metadata.EntryPoint ?? string.Empty, ScriptFile = metadata.ScriptFile ?? string.Empty } }; foreach (var binding in metadata.Bindings) { request.Metadata.Bindings.Add(binding.Name, new BindingInfo { Direction = (BindingInfo.Types.Direction)binding.Direction, Type = binding.Type }); } Send(new StreamingMessage { FunctionLoadRequest = request }); }
public void Register(FunctionRegistrationContext context) { WorkerConfig workerConfig = _workerConfigs.First(config => config.Extension == Path.GetExtension(context.Metadata.ScriptFile)); var state = _channelState.GetOrAdd(workerConfig, CreateWorkerState); state.Functions.OnNext(context); }
internal void AddRegistration(FunctionRegistrationContext registration) { lock (_lock) { _registrations.Add(registration); } }
internal void SendFunctionLoadRequest(FunctionRegistrationContext context) { FunctionMetadata metadata = context.Metadata; // associate the invocation input buffer with the function _functionInputBuffers[context.Metadata.FunctionId] = context.InputBuffer; // send a load request for the registered function FunctionLoadRequest request = new FunctionLoadRequest() { FunctionId = metadata.FunctionId, Metadata = new RpcFunctionMetadata() { Name = metadata.Name, Directory = metadata.FunctionDirectory ?? string.Empty, EntryPoint = metadata.EntryPoint ?? string.Empty, ScriptFile = metadata.ScriptFile ?? string.Empty } }; if (_managedDependencyOptions?.Value != null) { _workerChannelLogger?.LogInformation($"Adding dependency download request to {_workerConfig.Language} language worker"); request.ManagedDependencyEnabled = _managedDependencyOptions.Value.Enabled; } foreach (var binding in metadata.Bindings) { BindingInfo bindingInfo = binding.ToBindingInfo(); request.Metadata.Bindings.Add(binding.Name, bindingInfo); } SendStreamingMessage(new StreamingMessage { FunctionLoadRequest = request }); }
public void Register(FunctionRegistrationContext context) { _workerStates[context.Metadata.Language].Functions.OnNext(context); }
public void Register(FunctionRegistrationContext context) { var state = _workerStates.GetOrAdd(context.Metadata.Language, CreateWorkerState); state.Functions.OnNext(context); }