Gvr.Internal.EmulatorClientSocket.ProcessConnection C# (CSharp) Method

ProcessConnection() private method

private ProcessConnection ( TcpClient tcpClient ) : void
tcpClient System.Net.Sockets.TcpClient
return void
        private void ProcessConnection(TcpClient tcpClient)
        {
            byte[] buffer = new byte[4];
              NetworkStream stream = tcpClient.GetStream();
              stream.ReadTimeout = kSocketReadTimeoutMillis;
              tcpClient.ReceiveTimeout = kSocketReadTimeoutMillis;
              while (!shouldStop) {
            int bytesRead = blockingRead(stream, buffer, 0, 4);
            if (bytesRead < 4) {
              Debug.LogWarning("Socket read failed, considering socket to have been disconnected.");
              return;
            }
            int msgLen = unpack32bits(correctEndianness(buffer), 0);

            byte[] dataBuffer = new byte[msgLen];
            bytesRead = blockingRead(stream, dataBuffer, 0, msgLen);
            if (bytesRead < msgLen) {
              Debug.LogWarning("Socket read failed, considering socket to have been disconnected.");
              return;
            }

            PhoneEvent proto =
            PhoneEvent.CreateBuilder().MergeFrom(dataBuffer).Build();
            phoneRemote.OnPhoneEvent(proto);

            // Debug.Log(BitConverter.ToString(dataBuffer));
            // Debug.Log(proto.Type);
              }
        }