CentralMine.NET.Client.ProcessIdentity C# (CSharp) Méthode

ProcessIdentity() public méthode

public ProcessIdentity ( Stream stream, bool byteswap = false ) : void
stream Stream
byteswap bool
Résultat void
        void ProcessIdentity(Stream stream, bool byteswap = false)
        {
            byte[] buffer = new byte[8 * 1024];
            int bytesRead = stream.Read(buffer, 0, buffer.Length);

            MemoryStream mem = new MemoryStream(buffer);
            BinaryReader br = new BinaryReader(mem);

            byte clientType = 0;
            mVersion = br.ReadByte();
            if( mVersion > 0 )
                clientType = br.ReadByte();
            mStatusClient = ((clientType & 0x80) == 0x80);
            clientType &= 0x7F;
            switch (clientType)
            {
                case 0: mType = Type.Javascript; break;
                case 1: mType = Type.CSharp; break;
                case 2: mType = Type.Cpp; break;
                default: mType = Type.Unknown; break;
            }
            mDesiredHashes = br.ReadUInt32();

            if (byteswap)
                mDesiredHashes = (uint)IPAddress.NetworkToHostOrder((int)mDesiredHashes);

            mAgent = ReadStr(br);
            mPlatform = ReadStr(br);
            mLocation = ReadStr(br);

            if (mVersion == 1)
                mState = State.Ready;
            else
                mState = State.Old;
        }