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

Reply via email to