/// <summary> /// Tries to parse an <see cref="T:Photon.SocketServer.OperationRequest"/>. /// </summary> /// <param name="data">The raw request data.</param> /// <param name="cryptoProvider">An <see cref="T:Photon.SocketServer.Security.ICryptoProvider"/> instance used to decrypt encrypted operation requests.</param> /// <param name="operationRequest">The operation request.</param> /// <returns>True if request was parsed successfully.</returns> public bool TryParseOperationRequestEncrypted(byte[] data, ICryptoProvider cryptoProvider, out OperationRequest operationRequest) { object obj2; if (cryptoProvider == null) { operationRequest = null; return(false); } byte[] buffer = cryptoProvider.Decrypt(data, 2, data.Length - 2); if (buffer == null) { operationRequest = null; return(false); } if (operationDataLogger.IsDebugEnabled) { operationDataLogger.DebugFormat("Decrypted data: data=({0} bytes) {1}", new object[] { buffer.Length, BitConverter.ToString(buffer) }); } int offset = 0; if (GpBinaryByteReaderV17.ReadOperationRequest(buffer, ref offset, out obj2)) { operationRequest = (OperationRequest)obj2; return(true); } operationRequest = null; return(false); }
/// <summary> /// Tries to parse an <see cref="T:Photon.SocketServer.OperationRequest"/>. /// </summary> /// <param name="data"> The raw request data.</param> /// <param name="operationRequest">The operation request.</param> /// <returns>True if request was parsed successfully.</returns> public bool TryParseOperationRequest(byte[] data, out OperationRequest operationRequest) { object obj2; int offset = 2; if (GpBinaryByteReaderV17.ReadOperationRequest(data, ref offset, out obj2)) { operationRequest = (OperationRequest)obj2; return(true); } operationRequest = null; return(false); }