private void HandleParseError(String msg)
        {
            _state  = ParsingState.Head;
            _packet = new MySqlQueryPacket();

            OnParsedError?.Invoke();
        }
Exemple #2
0
        public void AddDeserializeQueue(char singlechar)
        {
            switch (index)
            {
            case 0:
                if (singlechar != '{')
                {
                    index = -1;
                    packetvalue.Clear();

                    if (singlechar == '[')
                    {
                        OnParsedSOP?.Invoke();
                    }

                    else if (singlechar == ']')
                    {
                        OnParsedEOP?.Invoke();
                    }

                    else if (int.TryParse(packetvalue.ToString(), out outvalue))
                    {
                        OnParsedError?.Invoke(packettype, outvalue);
                    }
                }

                break;

            case 1:
                if ('a' <= singlechar && singlechar <= 'z')
                {
                    packettype = singlechar;
                }
                else
                {
                    index = -1;
                    packetvalue.Clear();

                    if (int.TryParse(packetvalue.ToString(), out outvalue))
                    {
                        OnParsedError?.Invoke(packettype, outvalue);
                    }
                }

                break;

            default:
                if ('0' <= singlechar && singlechar <= '9')
                {
                    packetvalue.Append(singlechar);
                }
                else
                {
                    if (singlechar == '}')
                    {
                        if (int.TryParse(packetvalue.ToString(), out outvalue))
                        {
                            OnParsed?.Invoke(packettype, outvalue);
                        }
                    }
                    else
                    {
                        if (int.TryParse(packetvalue.ToString(), out outvalue))
                        {
                            OnParsedError?.Invoke(packettype, outvalue);
                        }
                    }
                    index = -1;
                    packetvalue.Clear();
                }

                break;
            }

            index++;
        }