winlin

refine the kbps comments, add one usage.

@@ -135,27 +135,34 @@ public: @@ -135,27 +135,34 @@ public:
135 }; 135 };
136 136
137 /** 137 /**
138 -* to statistic the kbps of io.  
139 -* itself can be a statistic source, for example, used for SRS bytes stat.  
140 -* there are two usage scenarios:  
141 -* 1. connections to calc kbps by sample():  
142 -* SrsKbps* kbps = ...;  
143 -* kbps->set_io(in, out)  
144 -* kbps->sample()  
145 -* kbps->get_xxx_kbps().  
146 -* the connections know how many bytes already send/recv.  
147 -* 2. server to calc kbps by add_delta():  
148 -* SrsKbps* kbps = ...;  
149 -* kbps->set_io(NULL, NULL)  
150 -* for each connection in connections:  
151 -* IKbpsDelta* delta = connection; // where connection implements IKbpsDelta  
152 -* delta->resample()  
153 -* kbps->add_delta(delta)  
154 -* delta->cleanup()  
155 -* kbps->sample()  
156 -* kbps->get_xxx_kbps().  
157 -* the server never know how many bytes already send/recv, for the connection maybe closed.  
158 -*/ 138 + * to statistic the kbps of io.
  139 + * itself can be a statistic source, for example, used for SRS bytes stat.
  140 + * there are some usage scenarios:
  141 + * 1. connections to calc kbps by sample():
  142 + * SrsKbps* kbps = ...;
  143 + * kbps->set_io(in, out)
  144 + * kbps->sample()
  145 + * kbps->get_xxx_kbps().
  146 + * the connections know how many bytes already send/recv.
  147 + * 2. server to calc kbps by add_delta():
  148 + * SrsKbps* kbps = ...;
  149 + * kbps->set_io(NULL, NULL)
  150 + * for each connection in connections:
  151 + * IKbpsDelta* delta = connection; // where connection implements IKbpsDelta
  152 + * delta->resample()
  153 + * kbps->add_delta(delta)
  154 + * delta->cleanup()
  155 + * kbps->sample()
  156 + * kbps->get_xxx_kbps().
  157 + * 3. kbps used as IKbpsDelta, to provides delta bytes:
  158 + * SrsKbps* kbps = ...;
  159 + * kbps->set_io(in, out);
  160 + * IKbpsDelta* delta = (IKbpsDelta*)kbps;
  161 + * delta->resample();
  162 + * printf("delta is %d/%d", delta->get_send_bytes_delta(), delta->get_recv_bytes_delta());
  163 + * delta->cleanup();
  164 + * the server never know how many bytes already send/recv, for the connection maybe closed.
  165 + */
159 class SrsKbps : public virtual ISrsProtocolStatistic, public virtual IKbpsDelta 166 class SrsKbps : public virtual ISrsProtocolStatistic, public virtual IKbpsDelta
160 { 167 {
161 private: 168 private:
@@ -167,6 +167,7 @@ public: @@ -167,6 +167,7 @@ public:
167 * sample the kbps, add delta bytes of conn. 167 * sample the kbps, add delta bytes of conn.
168 * use kbps_sample() to get all result of kbps stat. 168 * use kbps_sample() to get all result of kbps stat.
169 */ 169 */
  170 + // TODO: FIXME: the add delta must use IKbpsDelta interface instead.
170 virtual void kbps_add_delta(SrsConnection* conn); 171 virtual void kbps_add_delta(SrsConnection* conn);
171 /** 172 /**
172 * calc the result for all kbps. 173 * calc the result for all kbps.