/// <summary>This readIndexEntry method reads from the parent slot.</summary> /// <remarks>This readIndexEntry method reads from the parent slot.</remarks> /// <exception cref="Db4objects.Db4o.CorruptionException"></exception> /// <exception cref="Db4objects.Db4o.Ext.Db4oIOException"></exception> public virtual object ReadIndexEntryFromObjectSlot(MarshallerFamily mf, StatefulBuffer buffer) { int payLoadOffSet = buffer.ReadInt(); int length = buffer.ReadInt(); if (payLoadOffSet == 0) { return(null); } return(buffer.ReadPayloadWriter(payLoadOffSet, length)); }
private MarshallerFamily ReadMarshallerFamily(IReadWriteBuffer reader, int classID ) { var marshallerAware = MarshallerAware(classID); _handlerVersion = 0; if (marshallerAware) { _handlerVersion = reader.ReadByte(); } var marshallerFamily = MarshallerFamily.Version(_handlerVersion); return(marshallerFamily); }
private ObjectHeader(ObjectContainerBase container, ClassMetadata classMetadata, IReadWriteBuffer reader) { var classID = reader.ReadInt(); _marshallerFamily = ReadMarshallerFamily(reader, classID); classID = NormalizeID(classID); _classMetadata = (classMetadata != null ? classMetadata : container.ClassMetadataForID (classID)); // This check has been added to cope with defragment in debug mode: SlotDefragment#setIdentity() // will trigger calling this constructor with a source db class metadata and a target db stream, // thus _classMetadata==null. There may be a better solution, since this call is just meant to // skip the object header. _headerAttributes = SlotFormat().ReadHeaderAttributes((ByteArrayBuffer) reader); }
private ObjectHeader(ObjectContainerBase container, ClassMetadata classMetadata, IReadWriteBuffer reader) { var classID = reader.ReadInt(); _marshallerFamily = ReadMarshallerFamily(reader, classID); classID = NormalizeID(classID); _classMetadata = (classMetadata != null ? classMetadata : container.ClassMetadataForID (classID)); // This check has been added to cope with defragment in debug mode: SlotDefragment#setIdentity() // will trigger calling this constructor with a source db class metadata and a target db stream, // thus _classMetadata==null. There may be a better solution, since this call is just meant to // skip the object header. _headerAttributes = SlotFormat().ReadHeaderAttributes((ByteArrayBuffer)reader); }
/// <exception cref="Db4objects.Db4o.CorruptionException"></exception> public override object Read(MarshallerFamily mf, StatefulBuffer writer, bool redirect ) { return(mf._primitive.ReadDate(writer)); }
/// <param name="mf"></param> /// <param name="buffer"></param> /// <param name="redirect"></param> /// <exception cref="Db4objects.Db4o.CorruptionException"></exception> public virtual object Read(MarshallerFamily mf, StatefulBuffer buffer, bool redirect ) { return(Read1(buffer)); }
protected virtual Db4objects.Db4o.Internal.Marshall.PrimitiveMarshaller PrimitiveMarshaller () { return(MarshallerFamily.Current()._primitive); }
/// <exception cref="Db4objects.Db4o.CorruptionException"></exception> public object ReadIndexEntryFromObjectSlot(MarshallerFamily mf, StatefulBuffer statefulBuffer ) { return(Read(mf, statefulBuffer, true)); }
object IIndexableTypeHandler.ReadIndexEntryFromObjectSlot(MarshallerFamily mf, StatefulBuffer buffer) { return(ReadFrom(buffer)); }
/// <exception cref="Db4objects.Db4o.CorruptionException"></exception> public object ReadIndexEntryFromObjectSlot(MarshallerFamily mf, StatefulBuffer statefulBuffer ) { return(ReadIndexEntry(statefulBuffer.Transaction().Context(), statefulBuffer)); }
/// <exception cref="Db4objects.Db4o.CorruptionException"></exception> /// <exception cref="Db4objects.Db4o.Ext.Db4oIOException"></exception> public override object ReadIndexEntryFromObjectSlot(MarshallerFamily mf, StatefulBuffer buffer) { return(buffer.Container().ReadWriterByAddress(buffer.Transaction(), buffer.ReadInt (), buffer.ReadInt())); }
public object ReadIndexEntryFromObjectSlot(MarshallerFamily mf, StatefulBuffer statefulBuffer) { return(new IndexEntry(statefulBuffer.ReadInt(), statefulBuffer.ReadLong())); }
/// <exception cref="System.Exception"></exception> public void Run() { MarshallerFamily.Version(int.MaxValue); }
public object ReadIndexEntryFromObjectSlot(MarshallerFamily mf, StatefulBuffer buffer) { return(ReadFrom(buffer)); }
protected virtual PrimitiveMarshaller PrimitiveMarshaller () { return(MarshallerFamily.Current()._primitive); }