| 123456789101112131415161718192021222324252627282930313233343536 |
- package internet
- import (
- "net"
- )
- type Connection interface {
- net.Conn
- }
- type addInt64 interface {
- Add(int64) int64
- }
- type StatCouterConnection struct {
- Connection
- Uplink addInt64
- Downlink addInt64
- }
- func (c *StatCouterConnection) Read(b []byte) (int, error) {
- nBytes, err := c.Connection.Read(b)
- if c.Uplink != nil {
- c.Uplink.Add(int64(nBytes))
- }
- return nBytes, err
- }
- func (c *StatCouterConnection) Write(b []byte) (int, error) {
- nBytes, err := c.Connection.Write(b)
- if c.Downlink != nil {
- c.Downlink.Add(int64(nBytes))
- }
- return nBytes, err
- }
|