> Now I prefer a simple timer component that hasto be created
> at runtime and that must be passed a IcsWndControl as owner in 
> constructor.
> TFtpCli as well as THttpCli could be adjusted in 2 minutes.

Looks promizing.

--
Contribute to the SSL Effort. Visit http://www.overbyte.be/eng/ssl.html
--
[EMAIL PROTECTED]
http://www.overbyte.be



----- Original Message ----- 
From: "Arno Garrels" <[EMAIL PROTECTED]>
To: "ICS support mailing" <twsocket@elists.org>
Sent: Tuesday, March 27, 2007 9:07 PM
Subject: Re: [twsocket] Architectural question II


> Arno Garrels wrote:
>>>> What do you think?
>>>
>>> As stated above, by first opinion is simply to ignore older OS.
>>
>> That was my first idea as well, so yesterday I already implemented
>> simple timers into OverbyteIcsWndControl.pas (ignoring .NET
>> compatibility). It's currently part of TIcsWndControl and implemented
>> as TCollection/TCollectionItem.
>
> This TCollection-implementation doesn't convince me any more, though it
> looked nice. Now I prefer a simple timer component that hasto be created
> at runtime and that must be passed a IcsWndControl as owner in 
> constructor.
> TFtpCli as well as THttpCli could be adjusted in 2 minutes. As a result
> there won't be a timer-enabled ICS component but ICS would ship with a
> thread-safe timer that used base component's hidden window.
>
> What do you think?
>
>
> If that is too much overhead for all
>> classes derived from TIcsWndControl we will have to move the code to
>> a new timer-enabled class derived from TIcsWndControl. However having
>> this stuff in the base component makes life easier, I like it as is.
>> Downloadable here:
>> http://www.duodata.de/misc/delphi/IcsV6TimerStuff.zip (search for
>> define "USE_ICSTIMERS" in OverbyteIcsWndControl.pas) The ZIP-file
>> also includes a common, thread-safe timer component that registers in
>> the tool palette under FPiette.
>>
>>> Shouldn't we clearly ask the ICS community what OS they are using for
>>> their large scale servers ? Then we can better design the best
>>> solution.
>>
>> Agreed.
>>
>>
>>
>> Francois Piette wrote:
>>>> That's true, however it does not solve the main problem with timers
>>>> in ICS. The general problem with timers (beside the question which
>>>> window to use) is that they are a limited resource.
>>>
>>> As far as I know, timer are no more a limited resource sinceW2K.
>>>
>>>> If we want support
>>>> of "timer per instance" we have to take into account that:
>>>>
>>>> 1.) Win9x allows 32 timers systemwide only.
>>>> 2.) WinNT supports 16 timers per process only.
>>>> 3.) Maximum size of a thread's message queue is limited (default
>>>> 10000).
>>>>
>>>> In W2K and above it's possible to create thousands of timers (I
>>>> stopped testing at 10000 yesterday). However if we want support for
>>>> "timer per instance" in older OSs as well we have to emulate this
>>>> capability somehow.
>>>
>>> Is it really needed ? The problem will - IMO - occur only at server
>>> side and only when something large is implemented. And no one today
>>> would use anything below W2K for server. And if they want to use an
>>> older machine, maybe they would themself solve the problem provided
>>> ICS provide a mechanism to replace the [yet to be designed] buildin
>>> timer.
>>>
>>>
>>>> There are components around (like TTimerList of RX-Library)
>>>> promising to work around those limits. But they are slow. Such a
>>>> timer list utilizes a single Windows timer set to the shortest
>>>> interval of all registered timer-events. When the timer fires it
>>>> looks up and triggers registered timer-events as needed. The
>>>> procedure of adding/removing events is slow as well and may cause
>>>> delay if the timer interval must be reset. Also such a global timer
>>>> list must be thread-safe which slowed down performance again. If you
>>>> think we need such a 'polling beast' in order to work around limits
>>>> of older OSs, we should write a faster and smarter one that could
>>>> i.e. use an AVL-tree to manage its list of timer-events.
>>>>
>>>> What do you think?
>>>
>>> As stated above, by first opinion is simply to ignore older OS.
>>> Shouldn't we clearly ask the ICS community what OS they are using for
>>> their large scale servers ? Then we can better design the best
>>> solution.
>>>
>>>
>>> Contribute to the SSL Effort. Visit
>>> http://www.overbyte.be/eng/ssl.html --
>>> [EMAIL PROTECTED]
>>> Author of ICS (Internet Component Suite, freeware)
>>> Author of MidWare (Multi-tier framework, freeware)
>>> http://www.overbyte.be
> -- 
> To unsubscribe or change your settings for TWSocket mailing list
> please goto http://www.elists.org/mailman/listinfo/twsocket
> Visit our website at http://www.overbyte.be 

-- 
To unsubscribe or change your settings for TWSocket mailing list
please goto http://www.elists.org/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be

Reply via email to