type Class … type GnetStatsBasic … type GnetStatsRateEst … type GnetStatsRateEst64 … type GnetStatsQueue … type ClassStatistics … // NewClassStatistics Construct a ClassStatistics struct which fields are all initialized by 0. func NewClassStatistics() *ClassStatistics { … } type ClassAttrs … func (q ClassAttrs) String() string { … } type HtbClassAttrs … func (q HtbClassAttrs) String() string { … } type HtbClass … func (q HtbClass) String() string { … } // Attrs returns the class attributes func (q *HtbClass) Attrs() *ClassAttrs { … } // Type return the class type func (q *HtbClass) Type() string { … } type GenericClass … // Attrs return the class attributes func (class *GenericClass) Attrs() *ClassAttrs { … } // Type return the class type func (class *GenericClass) Type() string { … } type ServiceCurve … // Attrs return the parameters of the service curve func (c *ServiceCurve) Attrs() (uint32, uint32, uint32) { … } // Burst returns the burst rate (m1) of the curve func (c *ServiceCurve) Burst() uint32 { … } // Delay return the delay (d) of the curve func (c *ServiceCurve) Delay() uint32 { … } // Rate returns the rate (m2) of the curve func (c *ServiceCurve) Rate() uint32 { … } type HfscClass … // SetUsc sets the USC curve. The bandwidth (m1 and m2) is specified in bits and the delay in // seconds. func (hfsc *HfscClass) SetUsc(m1 uint32, d uint32, m2 uint32) { … } // SetFsc sets the Fsc curve. The bandwidth (m1 and m2) is specified in bits and the delay in // seconds. func (hfsc *HfscClass) SetFsc(m1 uint32, d uint32, m2 uint32) { … } // SetRsc sets the Rsc curve. The bandwidth (m1 and m2) is specified in bits and the delay in // seconds. func (hfsc *HfscClass) SetRsc(m1 uint32, d uint32, m2 uint32) { … } // SetSC implements the SC from the `tc` CLI. This function behaves the same as if one would set the // USC through the `tc` command-line tool. This means bandwidth (m1 and m2) is specified in bits and // the delay in ms. func (hfsc *HfscClass) SetSC(m1 uint32, d uint32, m2 uint32) { … } // SetUL implements the UL from the `tc` CLI. This function behaves the same as if one would set the // USC through the `tc` command-line tool. This means bandwidth (m1 and m2) is specified in bits and // the delay in ms. func (hfsc *HfscClass) SetUL(m1 uint32, d uint32, m2 uint32) { … } // SetLS implements the LS from the `tc` CLI. This function behaves the same as if one would set the // USC through the `tc` command-line tool. This means bandwidth (m1 and m2) is specified in bits and // the delay in ms. func (hfsc *HfscClass) SetLS(m1 uint32, d uint32, m2 uint32) { … } // NewHfscClass returns a new HFSC struct with the set parameters func NewHfscClass(attrs ClassAttrs) *HfscClass { … } // String() returns a string that contains the information and attributes of the HFSC class func (hfsc *HfscClass) String() string { … } // Attrs return the Hfsc parameters func (hfsc *HfscClass) Attrs() *ClassAttrs { … } // Type return the type of the class func (hfsc *HfscClass) Type() string { … }