示例#1
0
 public ServiceReaderCtx(IServiceInternalClient serviceClient, AbstractBufferedReader reader)
 {
     _serviceServer = null;
     _serviceClient = serviceClient;
     _reader = reader;
     _lastIdOfObj = 0;
 }
示例#2
0
 internal static void SkipHeader(AbstractBufferedReader reader)
 {
     reader.SkipBlock(FileCollectionWithFileInfos.MagicStartOfFile.Length + 1); // magic + type of file
     reader.SkipVInt64(); // subId
     reader.SkipVInt64(); // generation
     reader.SkipVUInt32(); // keyLen
 }
示例#3
0
 internal static void SkipHeader(AbstractBufferedReader reader)
 {
     FileCollectionWithFileInfos.SkipHeader(reader);
     reader.SkipUInt8(); // type of file
     reader.SkipVInt64(); // generation
     reader.SkipVInt32(); // previous file id
 }
示例#4
0
 internal static void SkipHeader(AbstractBufferedReader reader)
 {
     reader.SkipBlock(DiskChunkCache.MagicStartOfFile.Length + 1); // magic + type of file
     reader.SkipVInt64(); // generation
     reader.SkipVUInt32(); // keySize
     reader.SkipVUInt64(); // keyValueCount
 }
示例#5
0
 public FileKeyIndex(AbstractBufferedReader reader)
 {
     _generation = reader.ReadVInt64();
     _trLogFileId = reader.ReadVUInt32();
     _trLogOffset = reader.ReadVUInt32();
     _keyValueCount = (long) reader.ReadVUInt64();
 }
示例#6
0
 public HashKeyIndex(AbstractBufferedReader reader, Guid? guid)
 {
     _guid = guid;
     _subId = reader.ReadVInt64();
     _generation = reader.ReadVInt64();
     _keyLen = reader.ReadVUInt32();
 }
示例#7
0
 internal ServerBindInf(AbstractBufferedReader reader)
 {
     BindingId = reader.ReadVUInt32();
     ServiceId = reader.ReadVUInt32();
     MethodId = reader.ReadVUInt32();
     OneWay = reader.ReadBool();
 }
示例#8
0
 internal static TableFieldInfo Load(AbstractBufferedReader reader, IFieldHandlerFactory fieldHandlerFactory, string tableName)
 {
     var name = reader.ReadString();
     var handlerName = reader.ReadString();
     var configuration = reader.ReadByteArray();
     var fieldHandler = fieldHandlerFactory.CreateFromName(handlerName, configuration, FieldHandlerOptions.None);
     if (fieldHandler == null) throw new BTDBException(string.Format("FieldHandlerFactory did not created handler {0} in {1}.{2}", handlerName, tableName, name));
     return new TableFieldInfo(name, fieldHandler);
 }
示例#9
0
 public FileKeyIndex(AbstractBufferedReader reader, Guid? guid, bool withCommitUlong)
 {
     _guid = guid;
     _generation = reader.ReadVInt64();
     _trLogFileId = reader.ReadVUInt32();
     _trLogOffset = reader.ReadVUInt32();
     _keyValueCount = (long)reader.ReadVUInt64();
     _commitUlong = withCommitUlong ? reader.ReadVUInt64() : 0;
 }
示例#10
0
 public FileKeyIndex(AbstractBufferedReader reader, Guid? guid, bool withCommitUlong, bool modern)
 {
     _guid = guid;
     _generation = reader.ReadVInt64();
     _trLogFileId = reader.ReadVUInt32();
     _trLogOffset = reader.ReadVUInt32();
     _keyValueCount = (long)reader.ReadVUInt64();
     _commitUlong = withCommitUlong ? reader.ReadVUInt64() : 0;
     _compressionType = modern ? (KeyIndexCompression)reader.ReadUInt8() : KeyIndexCompression.Old;
 }
示例#11
0
 internal static void SkipHeader(AbstractBufferedReader reader)
 {
     FileCollectionWithFileInfos.SkipHeader(reader);
     var withCommitUlong = reader.ReadUInt8() == (byte)KVFileType.KeyIndexWithCommitUlong;
     reader.SkipVInt64(); // generation
     reader.SkipVUInt32(); // trLogFileId
     reader.SkipVUInt32(); // trLogOffset
     reader.SkipVUInt64(); // keyValueCount
     if (withCommitUlong) reader.SkipVUInt64(); // commitUlong
 }
示例#12
0
 internal static TableVersionInfo Load(AbstractBufferedReader reader, IFieldHandlerFactory fieldHandlerFactory, string tableName)
 {
     var fieldCount = reader.ReadVUInt32();
     var fieldInfos = new TableFieldInfo[fieldCount];
     for (int i = 0; i < fieldCount; i++)
     {
         fieldInfos[i] = TableFieldInfo.Load(reader, fieldHandlerFactory, tableName, FieldHandlerOptions.None);
     }
     return new TableVersionInfo(fieldInfos);
 }
示例#13
0
 public ObjectTypeDescriptor(ITypeDescriptorCallbacks typeSerializers, AbstractBufferedReader reader, Func<AbstractBufferedReader, ITypeDescriptor> nestedDescriptorReader)
 {
     _typeSerializers = typeSerializers;
     Sealed = false;
     _name = reader.ReadString();
     var fieldCount = reader.ReadVUInt32();
     while (fieldCount-- > 0)
     {
         _fields.Add(new KeyValuePair<string, ITypeDescriptor>(reader.ReadString(), nestedDescriptorReader(reader)));
     }
 }
示例#14
0
 internal static TableFieldInfo Load(AbstractBufferedReader reader, IFieldHandlerFactory fieldHandlerFactory,
     string tableName, FieldHandlerOptions handlerOptions)
 {
     var name = reader.ReadString();
     var handlerName = reader.ReadString();
     var configuration = reader.ReadByteArray();
     var fieldHandler = fieldHandlerFactory.CreateFromName(handlerName, configuration, handlerOptions);
     if (fieldHandler == null) throw new BTDBException(
         $"FieldHandlerFactory did not created handler {handlerName} in {tableName}.{name}");
     return new TableFieldInfo(name, fieldHandler);
 }
示例#15
0
 internal static void SkipHeader(AbstractBufferedReader reader)
 {
     FileCollectionWithFileInfos.SkipHeader(reader);
     var type = (KVFileType)reader.ReadUInt8();
     var withCommitUlong = type == KVFileType.KeyIndexWithCommitUlong || type == KVFileType.ModernKeyIndex;
     reader.SkipVInt64(); // generation
     reader.SkipVUInt32(); // trLogFileId
     reader.SkipVUInt32(); // trLogOffset
     reader.SkipVUInt64(); // keyValueCount
     if (withCommitUlong) reader.SkipVUInt64(); // commitUlong
     if (type == KVFileType.ModernKeyIndex) reader.SkipUInt8();
 }
示例#16
0
 public EnumTypeDescriptor(ITypeDescriptorCallbacks typeSerializers, AbstractBufferedReader reader)
 {
     _typeSerializers = typeSerializers;
     _name = reader.ReadString();
     var header = reader.ReadVUInt32();
     _signed = (header & 1) != 0;
     _flags = (header & 2) != 0;
     var count = header >> 2;
     _pairs = new List<KeyValuePair<string, ulong>>((int)count);
     for (int i = 0; i < count; i++)
     {
         _pairs.Add(_signed
                        ? new KeyValuePair<string, ulong>(reader.ReadString(), (ulong)reader.ReadVInt64())
                        : new KeyValuePair<string, ulong>(reader.ReadString(), reader.ReadVUInt64()));
     }
 }
示例#17
0
文件: MethodInf.cs 项目: Xamarui/BTDB
 public MethodInf(AbstractBufferedReader reader, IFieldHandlerFactory fieldHandlerFactory)
 {
     _name = reader.ReadString();
     _ifaceName = reader.ReadString();
     var resultFieldHandlerName = reader.ReadString();
     if (resultFieldHandlerName != null)
     {
         _resultFieldHandler = fieldHandlerFactory.CreateFromName(resultFieldHandlerName, reader.ReadByteArray(), FieldHandlerOptions.None);
     }
     var parameterCount = reader.ReadVUInt32();
     _parameters = new ParameterInf[parameterCount];
     for (int i = 0; i < _parameters.Length; i++)
     {
         _parameters[i] = new ParameterInf(reader, fieldHandlerFactory);
     }
 }
示例#18
0
文件: TypeInf.cs 项目: Xamarui/BTDB
 public TypeInf(AbstractBufferedReader reader, IFieldHandlerFactory fieldHandlerFactory)
 {
     _type = null;
     _name = reader.ReadString();
     var methodCount = reader.ReadVUInt32();
     _methodInfs = new MethodInf[methodCount];
     for (int i = 0; i < methodCount; i++)
     {
         _methodInfs[i] = new MethodInf(reader, fieldHandlerFactory);
     }
     var properyCount = reader.ReadVUInt32();
     _propertyInfs = new PropertyInf[properyCount];
     for (int i = 0; i < properyCount; i++)
     {
         PropertyInfs[i] = new PropertyInf(reader, fieldHandlerFactory);
     }
 }
示例#19
0
 public ParameterInf(AbstractBufferedReader reader, IFieldHandlerFactory fieldHandlerFactory)
 {
     _name = reader.ReadString();
     var handlerName = reader.ReadString();
     _fieldHandler = fieldHandlerFactory.CreateFromName(handlerName, reader.ReadByteArray(), FieldHandlerOptions.None);
 }
示例#20
0
 public ListTypeDescriptor(TypeSerializers typeSerializers, AbstractBufferedReader reader, Func<AbstractBufferedReader, ITypeDescriptor> nestedDescriptorReader)
 {
     _typeSerializers = typeSerializers;
     InitFromItemDescriptor(nestedDescriptorReader(reader));
 }
示例#21
0
 ITypeDescriptor NestedDescriptorReader(AbstractBufferedReader reader)
 {
     var typeId = reader.ReadVInt32();
     if (typeId < 0 && -typeId - 1 < _id2InfoNew.Count)
     {
         var infoForType = _id2InfoNew[-typeId - 1];
         if (infoForType != null)
             return infoForType.Descriptor;
     }
     else if (typeId > 0)
     {
         if (typeId >= _id2Info.Count)
             throw new BTDBException("Metadata corrupted");
         var infoForType = _id2Info[typeId];
         if (infoForType == null)
             throw new BTDBException("Metadata corrupted");
         return infoForType.Descriptor;
     }
     return new PlaceHolderDescriptor(typeId);
 }
示例#22
0
 public FilePureValuesWithId(AbstractBufferedReader reader)
 {
     _subId = reader.ReadVInt64();
     _generation = reader.ReadVInt64();
 }
示例#23
0
 public DictionaryTypeDescriptor(ITypeDescriptorCallbacks typeSerializers, AbstractBufferedReader reader, Func<AbstractBufferedReader, ITypeDescriptor> nestedDescriptorReader)
 {
     _convertorGenerator = typeSerializers.ConvertorGenerator;
     _typeSerializers = typeSerializers;
     InitFromKeyValueDescriptors(nestedDescriptorReader(reader), nestedDescriptorReader(reader));
 }
示例#24
0
 public ListTypeDescriptor(ITypeDescriptorCallbacks typeSerializers, AbstractBufferedReader reader, Func<AbstractBufferedReader, ITypeDescriptor> nestedDescriptorReader)
 {
     _convertorGenerator = typeSerializers.ConvertorGenerator;
     _typeSerializers = typeSerializers;
     InitFromItemDescriptor(nestedDescriptorReader(reader));
 }
示例#25
0
 public FileTransactionLog(AbstractBufferedReader reader)
 {
     _generation = reader.ReadVInt64();
     _previousFileId = (uint) reader.ReadVInt32();
 }
示例#26
0
 public DictionaryTypeDescriptor(TypeSerializers typeSerializers, AbstractBufferedReader reader, Func<AbstractBufferedReader, ITypeDescriptor> nestedDescriptorReader)
 {
     _typeSerializers = typeSerializers;
     InitFromKeyValueDescriptors(nestedDescriptorReader(reader), nestedDescriptorReader(reader));
 }
示例#27
0
 public FileHashIndex(AbstractBufferedReader reader)
 {
     _generation = reader.ReadVInt64();
     _keySize = (int) reader.ReadVUInt32();
     _keyValueCount = (long)reader.ReadVUInt64();
 }
示例#28
0
 public FilePureValues(AbstractBufferedReader reader)
 {
     _generation = reader.ReadVInt64();
 }
示例#29
0
 public DictionaryTypeDescriptor(ITypeDescriptorCallbacks typeSerializers, AbstractBufferedReader reader, Func<AbstractBufferedReader, ITypeDescriptor> nestedDescriptorReader)
     : this(typeSerializers, nestedDescriptorReader(reader), nestedDescriptorReader(reader))
 {
 }
 internal static void SkipHeader(AbstractBufferedReader reader)
 {
     var magic = reader.ReadByteArrayRaw(MagicStartOfFile.Length);
     var withGuid = BitArrayManipulation.CompareByteArray(magic, magic.Length,
         MagicStartOfFileWithGuid, MagicStartOfFileWithGuid.Length) == 0;
     if (withGuid) reader.SkipGuid();
 }