Exemple #1
0
 internal void addObjectReference(Ice.Identity id, Reference reference)
 {
     lock (this)
     {
         _objectTable[id] = new ReferenceTableEntry(Time.currentMonotonicTimeMillis(), reference);
     }
 }
Exemple #2
0
 internal Reference removeObjectReference(Ice.Identity id)
 {
     lock (this)
     {
         ReferenceTableEntry entry = null;
         if (_objectTable.TryGetValue(id, out entry))
         {
             _objectTable.Remove(id);
             return(entry.reference);
         }
         return(null);
     }
 }
Exemple #3
0
                public INFOInfoBlock(EndianBinaryReaderEx er)
                {
                    long basepos = er.BaseStream.Position;

                    NrEntries             = er.ReadUInt32();
                    ReferenceTableEntries = new ReferenceTableEntry[NrEntries];
                    for (int i = 0; i < NrEntries; i++)
                    {
                        ReferenceTableEntries[i] = new ReferenceTableEntry(er);
                    }
                    Entries = new T[NrEntries];
                    for (int i = 0; i < NrEntries; i++)
                    {
                        Entries[i] = new T();
                        Entries[i].Read(er);
                    }
                }
Exemple #4
0
        internal Reference getObjectReference(Ice.Identity id, int ttl, out bool cached)
        {
            if (ttl == 0) // Locator cache disabled.
            {
                cached = false;
                return(null);
            }

            lock (this)
            {
                ReferenceTableEntry entry = null;
                if (_objectTable.TryGetValue(id, out entry))
                {
                    cached = checkTTL(entry.time, ttl);
                    return(entry.reference);
                }
                cached = false;
                return(null);
            }
        }
Exemple #5
0
 internal void addObjectReference(Ice.Identity id, Reference reference)
 {
     lock(this)
     {
         _objectTable[id] = new ReferenceTableEntry(Time.currentMonotonicTimeMillis(), reference);
     }
 }