Hunter0x7c7
2022-08-11 a82f9cb69f63aaeba40c024960deda7d75b9fece
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
package dispatcher
 
import (
    "github.com/v2fly/v2ray-core/v5/common"
    "github.com/v2fly/v2ray-core/v5/common/buf"
    "github.com/v2fly/v2ray-core/v5/features/stats"
)
 
type SizeStatWriter struct {
    Counter stats.Counter
    Writer  buf.Writer
}
 
func (w *SizeStatWriter) WriteMultiBuffer(mb buf.MultiBuffer) error {
    w.Counter.Add(int64(mb.Len()))
    return w.Writer.WriteMultiBuffer(mb)
}
 
func (w *SizeStatWriter) Close() error {
    return common.Close(w.Writer)
}
 
func (w *SizeStatWriter) Interrupt() {
    common.Interrupt(w.Writer)
}