internal void addObjectReference(Ice.Identity id, Reference reference) { lock (this) { _objectTable[id] = new ReferenceTableEntry(Time.currentMonotonicTimeMillis(), reference); } }
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); } }
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); } }
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); } }
internal void addObjectReference(Ice.Identity id, Reference reference) { lock(this) { _objectTable[id] = new ReferenceTableEntry(Time.currentMonotonicTimeMillis(), reference); } }