public WriteToStreamCommand(string key, string lockHandle, int srcOffset, int dstOffset, int length, byte[] buffer) { base.name = "WriteToStreamCommand"; _writeToStreamCommand = new Alachisoft.NCache.Common.Protobuf.WriteToStreamCommand(); _writeToStreamCommand.key = key; _writeToStreamCommand.lockHandle = lockHandle; _writeToStreamCommand.srcOffSet = srcOffset; _writeToStreamCommand.dstOffSet = dstOffset; _writeToStreamCommand.length = length; if (buffer != null) { UserBinaryObject ubObject = UserBinaryObject.CreateUserBinaryObject(buffer); _writeToStreamCommand.buffer.AddRange(ubObject.DataList); } }
public override void ExecuteCommand(ClientManager clientManager, Alachisoft.NCache.Common.Protobuf.Command command) { Alachisoft.NCache.Common.Protobuf.WriteToStreamCommand writeToStreamCommand = command.writeToStreamCommand; try { ((NCache)clientManager.CmdExecuter).Cache.WriteToStream(writeToStreamCommand.key, writeToStreamCommand.lockHandle, new VirtualArray(writeToStreamCommand.buffer), writeToStreamCommand.srcOffSet, writeToStreamCommand.dstOffSet, writeToStreamCommand.length, new OperationContext(OperationContextFieldName.OperationType, OperationContextOperationType.CacheOperation)); } catch (Exception e) { //PROTOBUF:RESPONSE _serializedResponsePackets.Add(Alachisoft.NCache.Common.Util.ResponseHelper.SerializeExceptionResponse(e, command.requestID, command.commandID)); return; } Alachisoft.NCache.Common.Protobuf.Response response = new Alachisoft.NCache.Common.Protobuf.Response(); Alachisoft.NCache.Common.Protobuf.WriteToStreamResponse writeToStreamResponse = new Alachisoft.NCache.Common.Protobuf.WriteToStreamResponse(); response.requestId = writeToStreamCommand.requestId; response.commandID = command.commandID; response.responseType = Alachisoft.NCache.Common.Protobuf.Response.Type.WRITE_TO_STREAM; response.writeToStreamResponse = writeToStreamResponse; _serializedResponsePackets.Add(Alachisoft.NCache.Common.Util.ResponseHelper.SerializeResponse(response)); }