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 }
internal ServerBindInf(AbstractBufferedReader reader) { BindingId = reader.ReadVUInt32(); ServiceId = reader.ReadVUInt32(); MethodId = reader.ReadVUInt32(); OneWay = reader.ReadBool(); }
public DBReaderWithFreeInfoCtx(IInternalObjectDBTransaction transaction, AbstractBufferedReader reader, IList <ulong> freeDictionaries, IList <ulong> freeOids) : base(transaction, reader) { _freeDictionaries = freeDictionaries; _freeOids = freeOids; }
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)); }
internal static void SkipHeader(AbstractBufferedReader reader) { FileCollectionWithFileInfos.SkipHeader(reader); var type = (KVFileType)reader.ReadUInt8(); var withCommitUlong = type == KVFileType.KeyIndexWithCommitUlong || type == KVFileType.ModernKeyIndex || type == KVFileType.ModernKeyIndexWithUlongs; reader.SkipVInt64(); // generation reader.SkipVUInt32(); // trLogFileId reader.SkipVUInt32(); // trLogOffset reader.SkipVUInt64(); // keyValueCount if (withCommitUlong) { reader.SkipVUInt64(); // commitUlong } if (type == KVFileType.ModernKeyIndex || type == KVFileType.ModernKeyIndexWithUlongs) { reader.SkipUInt8(); } if (type == KVFileType.ModernKeyIndexWithUlongs) { var ulongCount = reader.ReadVUInt32(); while (ulongCount-- > 0) { reader.SkipVUInt64(); } } }
void IterateInlineDict(AbstractBufferedReader reader, IFieldHandler keyHandler, IFieldHandler valueHandler, bool skipping) { var skip = skipping || _visitor != null && !_visitor.StartDictionary(); var count = reader.ReadVUInt32(); while (count-- > 0) { var skipKey = skip || _visitor != null && !_visitor.StartDictKey(); IterateHandler(reader, keyHandler, skipKey, null); if (!skipKey) { _visitor?.EndDictKey(); } var skipValue = skip || _visitor != null && !_visitor.StartDictValue(); IterateHandler(reader, valueHandler, skipValue, null); if (!skipValue) { _visitor?.EndDictValue(); } } if (!skip) { _visitor?.EndDictionary(); } }
public ParameterInf(AbstractBufferedReader reader, IFieldHandlerFactory fieldHandlerFactory) { _name = reader.ReadString(); var handlerName = reader.ReadString(); _fieldHandler = fieldHandlerFactory.CreateFromName(handlerName, reader.ReadByteArray(), FieldHandlerOptions.None); }
public ServiceReaderCtx(IServiceInternalClient serviceClient, AbstractBufferedReader reader) { _serviceServer = null; _serviceClient = serviceClient; _reader = reader; _lastIdOfObj = 0; }
public HashKeyIndex(AbstractBufferedReader reader, Guid?guid) { _guid = guid; _subId = reader.ReadVInt64(); _generation = reader.ReadVInt64(); _keyLen = reader.ReadVUInt32(); }
internal static void SkipHeader(AbstractBufferedReader reader) { FileCollectionWithFileInfos.SkipHeader(reader); reader.SkipUInt8(); // type of file reader.SkipVInt64(); // subId reader.SkipVInt64(); // generation reader.SkipVUInt32(); // keyLen }
internal static UnresolvedTableFieldInfo Load(AbstractBufferedReader reader, string tableName, FieldHandlerOptions handlerOptions) { var name = reader.ReadString(); var handlerName = reader.ReadString(); var configuration = reader.ReadByteArray(); return(new UnresolvedTableFieldInfo(name, handlerName, configuration, tableName, handlerOptions)); }
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; }
public object Load(uint typeId, AbstractBufferedReader reader, ITypeBinaryDeserializerContext context) { var infoForType = _id2DescriptorMap[(int)typeId]; if (infoForType.Loader == null) { infoForType.Loader = _typeSerializers.GetLoader(infoForType.Descriptor); } return(infoForType.Loader(reader, context, this, infoForType.Descriptor)); }
// ReSharper disable MemberCanBePrivate.Global public static void SkipImpl(AbstractBufferedReader reader) // ReSharper restore MemberCanBePrivate.Global { var items = reader.ReadVUInt32(); while (items-- > 0) { reader.SkipVUInt64(); } }
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(); } }
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); } return(new TableVersionInfo(fieldInfos)); }
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))); } }
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(tableName, name, handlerName, configuration); 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)); }
public object LoadObject(AbstractBufferedReader reader) { var typeId = reader.ReadVUInt32(); if (typeId == 0) { return(null); } if (typeId == 1) { throw new InvalidDataException("Backreference cannot be first object"); } return(Load(typeId, reader, null)); }
ITypeDescriptor NestedDescriptorReader(AbstractBufferedReader reader) { var typeId = reader.ReadVUInt32(); if (typeId < _id2DescriptorMap.Count) { var infoForType = _id2DescriptorMap[(int)typeId]; if (infoForType != null) { return(infoForType.Descriptor); } } return(new PlaceHolderDescriptor(typeId)); }
public static RelationVersionInfo Load(AbstractBufferedReader reader, IFieldHandlerFactory fieldHandlerFactory, string relationName) { var pkCount = reader.ReadVUInt32(); var primaryKeys = new List <TableFieldInfo>((int)pkCount); for (var i = 0u; i < pkCount; i++) { primaryKeys.Add(TableFieldInfo.Load(reader, fieldHandlerFactory, relationName, FieldHandlerOptions.Orderable)); } var skFieldCount = reader.ReadVUInt32(); var secondaryKeyFields = new TableFieldInfo[skFieldCount]; for (var i = 0; i < skFieldCount; i++) { secondaryKeyFields[i] = TableFieldInfo.Load(reader, fieldHandlerFactory, relationName, FieldHandlerOptions.Orderable); } var skCount = reader.ReadVUInt32(); var secondaryKeys = new Dictionary <uint, SecondaryKeyInfo>((int)skCount); var secondaryKeysNames = new Dictionary <string, uint>((int)skCount); for (var i = 0; i < skCount; i++) { var skIndex = reader.ReadVUInt32(); var info = new SecondaryKeyInfo(); info.Index = reader.ReadVUInt32(); info.Name = reader.ReadString(); var cnt = reader.ReadVUInt32(); info.Fields = new List <FieldId>((int)cnt); for (var j = 0; j < cnt; j++) { var fromPrimary = reader.ReadBool(); var index = reader.ReadVUInt32(); info.Fields.Add(new FieldId(fromPrimary, index)); } secondaryKeys.Add(skIndex, info); secondaryKeysNames.Add(info.Name, skIndex); } var fieldCount = reader.ReadVUInt32(); var fieldInfos = new TableFieldInfo[fieldCount]; for (int i = 0; i < fieldCount; i++) { fieldInfos[i] = TableFieldInfo.Load(reader, fieldHandlerFactory, relationName, FieldHandlerOptions.None); } return(new RelationVersionInfo(primaryKeys, secondaryKeys, secondaryKeysNames, fieldInfos)); }
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)); }
// ReSharper disable UnusedMember.Global public static IList <T> LoaderImpl <T>(AbstractBufferedReader reader, IDBObject owner) where T : class // ReSharper restore UnusedMember.Global { var count = reader.ReadVUInt32(); if (count == 0) { return(null); } var oids = new List <ulong>((int)count); while (count-- > 0) { oids.Add(reader.ReadVUInt64()); } return(new ListOfDBObject <T>(owner, oids)); }
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); } }
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())); } }
void IterateInlineList(AbstractBufferedReader reader, IFieldHandler itemHandler, bool skipping) { var skip = skipping || _visitor != null && !_visitor.StartList(); var count = reader.ReadVUInt32(); while (count-- > 0) { var skipItem = skip || _visitor != null && !_visitor.StartItem(); IterateHandler(reader, itemHandler, skipItem, null); if (!skipItem) { _visitor?.EndItem(); } } if (!skip) { _visitor?.EndList(); } }
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); } }
public FileKeyIndex(AbstractBufferedReader reader, Guid?guid, bool withCommitUlong, bool modern, bool withUlongs) { _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; _ulongs = null; if (withUlongs) { _ulongs = new ulong[reader.ReadVUInt32()]; for (var i = 0; i < _ulongs.Length; i++) { _ulongs[i] = reader.ReadVUInt64(); } } }
public FileTransactionLog(AbstractBufferedReader reader, Guid?guid) { _guid = guid; _generation = reader.ReadVInt64(); _previousFileId = (uint)reader.ReadVInt32(); }
public DictionaryTypeDescriptor(ITypeDescriptorCallbacks typeSerializers, AbstractBufferedReader reader, Func <AbstractBufferedReader, ITypeDescriptor> nestedDescriptorReader) : this(typeSerializers, nestedDescriptorReader(reader), nestedDescriptorReader(reader)) { }
public KeyValueDBReplayer(string logname) { _reader = new PositionLessStreamReader(new PositionLessStreamProxy(logname)); }