private ByteArrayBuffer MarshallObjects(int prefetchDepth, int prefetchCount, IIntIterator4
                                         ids)
 {
     lock (ContainerLock())
     {
         IObjectExchangeStrategy strategy = ObjectExchangeStrategyFactory.ForConfig(new ObjectExchangeConfiguration
                                                                                        (prefetchDepth, prefetchCount));
         return(strategy.Marshall((LocalTransaction)Transaction(), ids, prefetchCount));
     }
 }
Ejemplo n.º 2
0
 private ByteArrayBuffer MarshallIDsFor(int classMetadataID, int prefetchDepth, int
                                        prefetchCount, bool triggerQueryEvents)
 {
     lock (ContainerLock())
     {
         long[] ids = GetIDs(classMetadataID, triggerQueryEvents);
         return(ObjectExchangeStrategyFactory.ForConfig(new ObjectExchangeConfiguration(prefetchDepth
                                                                                        , prefetchCount)).Marshall((LocalTransaction)Transaction(), IntIterators.ForLongs
                                                                                                                       (ids), ids.Length));
     }
 }
Ejemplo n.º 3
0
        private MsgD BuildQueryResultMessage(int queryResultId, IIntIterator4 ids, int maxCount
                                             , ObjectExchangeConfiguration config)
        {
            ByteArrayBuffer payload = ObjectExchangeStrategyFactory.ForConfig(config).Marshall
                                          ((LocalTransaction)Transaction(), ids, maxCount);
            MsgD message = QueryResult.GetWriterForLength(Transaction(), Const4.IntLength + payload
                                                          .Length());
            StatefulBuffer writer = message.PayLoad();

            writer.WriteInt(queryResultId);
            writer.WriteBytes(payload._buffer);
            return(message);
        }
Ejemplo n.º 4
0
        public virtual Msg ReplyFromServer()
        {
            int  queryResultID = ReadInt();
            int  fetchSize     = ReadInt();
            int  fetchDepth    = ReadInt();
            MsgD message       = null;

            lock (ContainerLock())
            {
                IIntIterator4   idIterator = Stub(queryResultID).IdIterator();
                ByteArrayBuffer payload    = ObjectExchangeStrategyFactory.ForConfig(new ObjectExchangeConfiguration
                                                                                         (fetchDepth, fetchSize)).Marshall((LocalTransaction)Transaction(), idIterator, fetchSize
                                                                                                                           );
                message = IdList.GetWriterForBuffer(Transaction(), payload);
            }
            return(message);
        }
Ejemplo n.º 5
0
 private IObjectExchangeStrategy ObjectExchangeStrategy()
 {
     return(ObjectExchangeStrategyFactory.ForConfig(DefaultObjectExchangeConfiguration
                                                        ()));
 }