Beispiel #1
0
 private void WriteIndex(MarshallingContext context, int masterAddress, int position
                         )
 {
     if (_indexedField != null)
     {
         // for now this is a String index only, it takes the entire slot.
         StatefulBuffer buffer = new StatefulBuffer(context.Transaction(), UnblockedLength
                                                        ());
         int blockedPosition = context.Container().BlockConverter().BytesToBlocks(position
                                                                                  );
         int indexID = masterAddress + blockedPosition;
         buffer.SetID(indexID);
         buffer.Address(indexID);
         TransferContentTo(buffer, UnblockedLength());
         _indexedField.AddIndexEntry(context.Transaction(), context.ObjectID(), buffer);
     }
 }
        public virtual void MarshallAspects(object obj, MarshallingContext context)
        {
            Transaction            trans   = context.Transaction();
            ITraverseAspectCommand command = new _MarshallingInfoTraverseAspectCommand_122(context
                                                                                           , obj, trans, EnsureFieldList(context));

            TraverseAllAspects(context, command);
        }
 // do nothing
 public override void Marshall(MarshallingContext context, object obj)
 {
     Marshall(context.Transaction(), context.Reference(), context, context.IsNew());
 }