Beispiel #1
0
        public static V ReadV(string fileUrl, OnErrorDelegate onError)
        {
            if (!File.Exists(fileUrl)) // File isn't exist.
            {
                onError?.Invoke(ErrorInfoManager.FILE_NOT_EXIST.Code, ErrorInfoManager.FILE_NOT_EXIST.Info);
                return(null);
            }
            string file = ReadFile(fileUrl, onError);

            Debug.WriteLine(file);
            try
            {
                V metro = JsonConvert.DeserializeObject <V>(file);
                return(metro);
            }
            catch (Exception e) // File isn't a valid json.
            {
                Debug.WriteLine(e);
                onError?.Invoke(ErrorInfoManager.JSON_NOT_VAILD.Code, ErrorInfoManager.JSON_NOT_VAILD.Info);
            }
            return(null);
        }
Beispiel #2
0
        private void WebsocketOnError(IWebsocket ws, string message)
        {
            if (ws != websocket || state == State.Closed)
            {
                return;
            }
            Log(LogLevel.Info, "socket", message ?? "unknown");

            state = State.Closed;
            TriggerChannelError("socket error");
            CancelHeartbeat();

            OnError?.Invoke(message);
            websocket = null;
        }
Beispiel #3
0
 public override void ErrorReported(ScriptSource source, string message, SourceSpan span, int errorCode, Severity severity)
 {
     OnError.Invoke(source, message, span, errorCode, severity);
 }
Beispiel #4
0
 private void OnError(ErrorInfo error)
 {
     _onError?.Invoke(error.Code, error.Info);
 }
Beispiel #5
0
        public async Task DispatchMessagesAsync()
        {
            while (true)
            {
                var receiveResult = await _udpClient.ReceiveAsync();

                var acsReader = new ACSProtocolReader(receiveResult.Buffer);
                var packetId  = acsReader.ReadByte();

                switch (packetId)
                {
                case ACSProtocol.ACSP_ERROR:
                {
                    var message = acsReader.ReadStringW();
                    OnError?.Invoke(packetId, message);
                }
                break;

                case ACSProtocol.ACSP_CHAT:
                {
                    var eventData = new ChatEvent(acsReader);
                    OnChat?.Invoke(packetId, eventData);
                }
                break;

                case ACSProtocol.ACSP_CLIENT_LOADED:
                {
                    var carId = acsReader.ReadByte();
                    OnClientLoaded?.Invoke(packetId, carId);
                }
                break;

                case ACSProtocol.ACSP_VERSION:
                {
                    var protocolVersion = acsReader.ReadByte();
                    OnVersion?.Invoke(packetId, protocolVersion);
                }
                break;

                case ACSProtocol.ACSP_NEW_SESSION:
                {
                    var eventData = new SessionInfoEvent(acsReader);
                    OnNewSession?.Invoke(packetId, eventData);
                }
                break;

                case ACSProtocol.ACSP_SESSION_INFO:
                {
                    var eventData = new SessionInfoEvent(acsReader);
                    OnSessionInfo?.Invoke(packetId, eventData);
                }
                break;

                case ACSProtocol.ACSP_END_SESSION:
                {
                    var reportFile = acsReader.ReadStringW();
                    OnEndSession?.Invoke(packetId, reportFile);
                }
                break;

                case ACSProtocol.ACSP_CLIENT_EVENT:
                {
                    var eventData = new ClientEventEvent(acsReader);
                    OnClientEvent?.Invoke(packetId, eventData);
                }
                break;

                case ACSProtocol.ACSP_CAR_INFO:
                {
                    var eventData = new CarInfoEvent(acsReader);
                    OnCarInfo?.Invoke(packetId, eventData);
                }
                break;

                case ACSProtocol.ACSP_CAR_UPDATE:
                {
                    var eventData = new CarUpdateEvent(acsReader);
                    OnCarUpdate?.Invoke(packetId, eventData);
                }
                break;

                case ACSProtocol.ACSP_NEW_CONNECTION:
                {
                    var eventData = new ConnectionEvent(acsReader);
                    OnNewConnection?.Invoke(packetId, eventData);
                }
                break;

                case ACSProtocol.ACSP_CONNECTION_CLOSED:
                {
                    var eventData = new ConnectionEvent(acsReader);
                    OnConnectionClosed?.Invoke(packetId, eventData);
                }
                break;

                case ACSProtocol.ACSP_LAP_COMPLETED:
                {
                    var eventData = new LapCompletedEvent(acsReader);
                    OnLapCompleted?.Invoke(packetId, eventData);
                }
                break;
                }
            }
        }