Beispiel #1
0
        protected async virtual Task ProcessPacket(IWebSocketClient client, string header, string content)
        {
            _logger.Write(LogType.Normal, "Pack(" + header + "): " + content + "\r\n");

            try
            {
                // implement json parse error exception so that we dont crash the entire app but only disconnect this client
                var data = JsonParser.Parse <JsonObject>(content);
                if (header == "new")
                {
                    var packageName           = data.GetMember <JsonString>("packageName").Value;
                    var instanceConfiguration = InstanceConfiguration.CreateDefault(_settings);

                    var instanceId = _hostClient.CreateInstance(
                        packageName,
                        instanceConfiguration);

                    await Broadcast("new", new
                    {
                        instanceId  = instanceId,
                        packageName = packageName
                    });
                }
            }
            catch (Framework.Json.JsonException ex)
            {
                _logger.Write(
                    LogType.Error,
                    $"[{header}] Json protocol error: ({ex.GetType().Name}) '{ex.Message}' in packet: {content}");
            }
        }
Beispiel #2
0
            public Instance(InstanceManager instanceManager, string id, Package package, ILogger logger, IBindingInterface bindingInterface, ISettings settings)
            {
                _instanceManager = instanceManager;
                _id               = id;
                _package          = package;
                _logger           = logger;
                _bindingInterface = bindingInterface;

                _status       = InstanceStatus.Idle;
                Configuration = InstanceConfiguration.CreateDefault(settings);
            }