/// <summary>Process op by the corresponding method.</summary> /// <exception cref="System.IO.IOException"/> protected internal void ProcessOp(OP op) { switch (op) { case OP.ReadBlock: { OpReadBlock(); break; } case OP.WriteBlock: { OpWriteBlock(@in); break; } case OP.ReplaceBlock: { OpReplaceBlock(@in); break; } case OP.CopyBlock: { OpCopyBlock(@in); break; } case OP.BlockChecksum: { OpBlockChecksum(@in); break; } case OP.TransferBlock: { OpTransferBlock(@in); break; } case OP.RequestShortCircuitFds: { OpRequestShortCircuitFds(@in); break; } case OP.ReleaseShortCircuitFds: { OpReleaseShortCircuitFds(@in); break; } case OP.RequestShortCircuitShm: { OpRequestShortCircuitShm(@in); break; } default: { throw new IOException("Unknown op " + op + " in data stream"); } } }