private void WriteInsertOrIgnoreCommand(BinaryWriter writer, ICommand command)
        {
            var cmd = (InsertOrIgnoreCommand)command;

            KeyPersist.Write(writer, cmd.Key);
            RecordPersist.Write(writer, cmd.Record);
        }
        private void WriteReplaceCommand(BinaryWriter writer, ICommand command)
        {
            var cmd = (ReplaceCommand)command;

            KeyPersist.Write(writer, cmd.Key);
            RecordPersist.Write(writer, cmd.Record);
        }
        private void WriteDeleteRangeCommand(BinaryWriter writer, ICommand command)
        {
            var cmd = (DeleteRangeCommand)command;

            KeyPersist.Write(writer, cmd.FromKey);
            KeyPersist.Write(writer, cmd.ToKey);
        }
예제 #4
0
 private void WriteLastRowOperation(BinaryWriter writer, LastRowOperation operation)
 {
     writer.Write(operation.Row.HasValue);
     if (operation.Row.HasValue)
     {
         KeyPersist.Write(writer, operation.Row.Value.Key);
         RecordPersist.Write(writer, operation.Row.Value.Value);
     }
 }
        private void SerializeList(BinaryWriter writer, List <KeyValuePair <IData, IData> > list, int count)
        {
            writer.Write(count);

            foreach (var kv in list)
            {
                KeyPersist.Write(writer, kv.Key);
                RecordPersist.Write(writer, kv.Value);
            }
        }
예제 #6
0
        private void WriteTryGetOperation(BinaryWriter writer, TryGetOperation operation)
        {
            KeyPersist.Write(writer, operation.FromKey);

            writer.Write(operation.Record != null);
            if (operation.Record != null)
            {
                RecordPersist.Write(writer, operation.Record);
            }
        }
        private void WriteLastRowCommand(BinaryWriter writer, ICommand command)
        {
            var cmd = (LastRowCommand)command;

            writer.Write(cmd.Row.HasValue);
            if (cmd.Row.HasValue)
            {
                KeyPersist.Write(writer, cmd.Row.Value.Key);
                RecordPersist.Write(writer, cmd.Row.Value.Value);
            }
        }
예제 #8
0
        private void WriteFindBeforeOperation(BinaryWriter writer, FindBeforeOperation operation)
        {
            KeyPersist.Write(writer, operation.FromKey);

            writer.Write(operation.KeyValue.HasValue);
            if (operation.KeyValue.HasValue)
            {
                KeyPersist.Write(writer, operation.KeyValue.Value.Key);
                RecordPersist.Write(writer, operation.KeyValue.Value.Value);
            }
        }
        private void WriteTryGetCommand(BinaryWriter writer, ICommand command)
        {
            var cmd = (TryGetCommand)command;

            KeyPersist.Write(writer, cmd.Key);

            writer.Write(cmd.Record != null);
            if (cmd.Record != null)
            {
                RecordPersist.Write(writer, cmd.Record);
            }
        }
        private void WriteFindBeforeCommand(BinaryWriter writer, ICommand command)
        {
            var cmd = (FindBeforeCommand)command;

            KeyPersist.Write(writer, cmd.Key);

            writer.Write(cmd.KeyValue.HasValue);
            if (cmd.KeyValue.HasValue)
            {
                KeyPersist.Write(writer, cmd.KeyValue.Value.Key);
                RecordPersist.Write(writer, cmd.KeyValue.Value.Value);
            }
        }
예제 #11
0
        private void WriteBackwardOperation(BinaryWriter writer, BackwardOperation operation)
        {
            writer.Write(operation.PageCount);

            writer.Write(operation.FromKey != null);
            if (operation.FromKey != null)
            {
                KeyPersist.Write(writer, operation.FromKey);
            }

            writer.Write(operation.ToKey != null);
            if (operation.ToKey != null)
            {
                KeyPersist.Write(writer, operation.ToKey);
            }

            writer.Write(operation.List != null);
            if (operation.List != null)
            {
                SerializeList(writer, operation.List, operation.List.Count);
            }
        }
        private void WriteForwardCommand(BinaryWriter writer, ICommand command)
        {
            var cmd = (ForwardCommand)command;

            writer.Write(cmd.PageCount);

            writer.Write(cmd.FromKey != null);
            if (cmd.FromKey != null)
            {
                KeyPersist.Write(writer, cmd.FromKey);
            }

            writer.Write(cmd.ToKey != null);
            if (cmd.ToKey != null)
            {
                KeyPersist.Write(writer, cmd.ToKey);
            }

            writer.Write(cmd.List != null);
            if (cmd.List != null)
            {
                SerializeList(writer, cmd.List, cmd.List.Count);
            }
        }
예제 #13
0
 private void WriteInsertOrIgnoreOperation(BinaryWriter writer, InsertOrIgnoreOperation operation)
 {
     KeyPersist.Write(writer, operation.FromKey);
     RecordPersist.Write(writer, operation.Record);
 }
예제 #14
0
 private void WriteDeleteRangeOperation(BinaryWriter writer, DeleteRangeOperation operation)
 {
     KeyPersist.Write(writer, operation.FromKey);
     KeyPersist.Write(writer, operation.ToKey);
 }
예제 #15
0
 private void WriteReplaceOperation(BinaryWriter writer, ReplaceOperation operation)
 {
     KeyPersist.Write(writer, operation.FromKey);
     RecordPersist.Write(writer, operation.Record);
 }
예제 #16
0
 private void WriteReadRangeOperation(BinaryWriter writer, ReadRangeOperation operation)
 {
     KeyPersist.Write(writer, operation.FromKey);
     KeyPersist.Write(writer, operation.ToKey);
     writer.Write(operation.Handle);
 }
예제 #17
0
 private void WriteRefreshPointOperation(BinaryWriter writer, RefreshPointOperation operation)
 {
     KeyPersist.Write(writer, operation.FromKey);
 }