.\" This manpage has been automatically generated by docbook2man
.\" from a DocBook document. This tool can be found at:
.\"
.\" Please send any bug reports, improvements, comments, patches,
.\" etc. to Steve Cheng .
.TH "HTB_CHARGE_CLASS" "9" "09 October 2005" "" ""
.SH NAME
htb_charge_class \- charges amount ``bytes'' to leaf and ancestors
.SH SYNOPSIS
"SYNOPSIS"
.sp
\fB
.sp
void htb_charge_class (struct htb_sched * \fIq\fB, struct htb_class * \fIcl\fB, int \fIlevel\fB, int \fIbytes\fB);
\fR
.SH "ARGUMENTS"
.TP
\fB\fIq\fB\fR
-- undescribed --
.TP
\fB\fIcl\fB\fR
-- undescribed --
.TP
\fB\fIlevel\fB\fR
-- undescribed --
.TP
\fB\fIbytes\fB\fR
-- undescribed --
.SH "DESCRIPTION"
.PP
.PP
Routine assumes that packet ``bytes'' long was dequeued from leaf cl
borrowing from ``level''\&. It accounts bytes to ceil leaky bucket for
leaf and all ancestors and to rate bucket for ancestors at levels
``level'' and higher. It also handles possible change of mode resulting
from the update. Note that mode can also increase here (MAY_BORROW to
CAN_SEND) because we can use more precise clock that event queue here.
In such case we remove class from event queue first.