Example #1
0
        /// <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));
        }
Example #2
0
        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);
        }
Example #3
0
 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);
 }
Example #4
0
        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);
        }
Example #5
0
 /// <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));
 }
Example #9
0
 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));
 }
Example #11
0
 /// <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()));
 }
Example #12
0
 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));
 }
Example #15
0
 protected virtual PrimitiveMarshaller PrimitiveMarshaller
     ()
 {
     return(MarshallerFamily.Current()._primitive);
 }