What about the events? Do I need to use them in TCacheTree? Thanks a lot, SZ On Sun, Dec 4, 2011 at 11:05, Arno Garrels <arno.garr...@gmx.de> wrote:
> ----- Original Message ----- > From: "Fastream Technologies" <ga...@fastream.com> > To: "ICS support mailing" <twsocket@elists.org> > Sent: Sunday, December 04, 2011 7:16 AM > Subject: Re: [twsocket] Converting a cache to AVL tree > > > > The component I tried to use is TCacheTree. It has a timeout argument for > > each added item. I do not want any timers or any timeouts yet liked the > > component. Is there a way to omit expiration. I will use my own code for > it. > > TCacheTree doesn't use any timer, it just provides two TDateTime fields. > There are two indices, first is Key of type string, second is TimeStamp > of type TDateTime used to find oldest entries very fast. It's two linked > AVL trees. > > procedure Insert( > Key : String; // Unique key > Data : Pointer; // Pointer to data > Len : Integer; // Optionally data size > TimeStamp : TDateTime = MinDT; // Second key (dups are allowed and > handled) > Expires : TDateTime = MinDT; // What ever you like > UpdateTime : Boolean = True; // Shall the TDateTime fields be > updated? > UpdateData : Boolean = True); // Shall Data be updated? > > Use Insert() for both add and update an entry. > > Node : TCacheNode; > begin > Node := FCacheTree.FindKey(Key); > if Node <> nil then > begin > // Node.IdxRef.TimeStamp // i.e read the TimeStamp > // i.e update TimeStamp and Expires, don't update Data > FCacheTree.Insert(Key, nil, 0, time1, time2, TRUE, FALSE); > end; > > Oldest() returns oldest entry. > Flush() removes all entries older or same DateTime as passed. > > Hope this helps. > > -- > Arno Garrels > > > > Best Regards, > > > > SZ > > On Sat, Dec 3, 2011 at 18:54, Arno Garrels <arno.garr...@gmx.de> wrote: > > > >> Fastream Technologies wrote: > >> > Hello, > >> > > >> > I wonder if there is an easy way to do this? How does one achieve no > >> > timeout in ICS avl tree? > >> > >> Please be more specific, AFAIR there's no timeout in any ICS AVL tree. > >> BTW: Also have a look at the new TIcsAvlPointerTree and > TIcsAvlObjectTree > >> in the IPv6 branch, included in OverbyteIcsAvlTrees. > >> > >> -- > >> Arno Garrels > >> -- > >> To unsubscribe or change your settings for TWSocket mailing list > >> please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket > >> Visit our website at http://www.overbyte.be > >> > > -- > > To unsubscribe or change your settings for TWSocket mailing list > > please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket > > Visit our website at http://www.overbyte.be > -- > To unsubscribe or change your settings for TWSocket mailing list > please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket > Visit our website at http://www.overbyte.be > -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be