Example #1
0
 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);
     }
 }
Example #2
0
        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));
        }