Arno, in FtpCli unit there's quite large piece of code {$IFDEF UseBandwidthControl} FBandwidthCount := 0; // Reset byte counter if ftpBandwidthControl in FOptions then begin if not Assigned(FBandwidthTimer) then FBandwidthTimer := TIcsTimer.Create(Self); FBandwidthTimer.Enabled := FALSE; FBandwidthTimer.Interval := FBandwidthSampling; FBandwidthTimer.OnTimer := BandwidthTimerTimer; FBandwidthTimer.Enabled := TRUE; // Number of bytes we allow during a sampling period FBandwidthMaxCount := Int64(FBandwidthLimit) * FBandwidthSampling div 1000; FBandwidthPaused := FALSE; end; {$ENDIF}
repeating 4 times in TCustomFtpCli.DataSocketGetSessionConnected TCustomFtpCli.DataSocketPutSessionConnected TCustomFtpCli.DataSocketGetSessionAvailable TCustomFtpCli.DataSocketPutSessionAvailable Shouldn't it be extracted into separate procedure? Bruno, using BUILTIN_THROTTLE it's quite easy to add bandwidth control, just add Socket.BandwidthLimit and Socket.BandwidthSampling assignment after socket creation and that's all. -- Anton -- 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