Пример #1
0
        private void OnNewMessage(byte[] msg)
        {
            MemoryByteStream bs = new MemoryByteStream(msg);

            byte id = bs.ReadByte();

            switch (id)
            {
            case _idSelectMachine:
            {
                string machineName = Serializer.SelectMachineFromBytes(bs);
                ReceiveSelectMachine?.Invoke(machineName);
            }
            break;

            case _idAvailableMachines:
            {
                List <string> machines = Serializer.AvailableMachinesFromBytes(bs);
                ReceiveAvailableMachines?.Invoke(machines);
            }
            break;

            case _idCoreAction:
            {
                CoreAction coreAction = Serializer.CoreActionFromBytes(bs);
                ReceiveCoreAction?.Invoke(coreAction);
            }
            break;

            case _idPing:
            {
                bool   response = bs.ReadBool();
                UInt64 pid      = bs.ReadUInt64();
                ReceivePing?.Invoke(response, pid);
            }
            break;

            case _idRequestAvailableMachines:
            {
                ReceiveRequestAvailableMachines?.Invoke();
            }
            break;

            case _idName:
            {
                string machineName = bs.ReadString();
                ReceiveName?.Invoke(machineName);
            }
            break;

            case _idCoreRequest:
            {
                CoreRequest coreRequest = Serializer.CoreRequestFromBytes(bs);
                ReceiveCoreRequest?.Invoke(coreRequest);
            }
            break;
            }
        }
Пример #2
0
        static public List <string> AvailableMachinesFromBytes(MemoryByteStream stream)
        {
            List <string> availableMachines = new List <string>();

            int count = stream.ReadInt32();

            for (int i = 0; i < count; i++)
            {
                availableMachines.Add(stream.ReadString());
            }

            return(availableMachines);
        }
Пример #3
0
        static public string SelectMachineFromBytes(MemoryByteStream stream)
        {
            string machineName = stream.ReadString();

            return(machineName);
        }