mirror of
https://github.com/v2fly/v2ray-core.git
synced 2025-01-07 01:46:33 -05:00
c78ee5aac7
* ⬆ Update to Go 1.17 * 🏗 Update workflows and add windows-arm64 * 💾 Update generated files * 📛 Update not-so-friendly filenames
29 lines
571 B
Go
29 lines
571 B
Go
//go:build !confonly
|
|
// +build !confonly
|
|
|
|
package dispatcher
|
|
|
|
import (
|
|
"github.com/v2fly/v2ray-core/v4/common"
|
|
"github.com/v2fly/v2ray-core/v4/common/buf"
|
|
"github.com/v2fly/v2ray-core/v4/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)
|
|
}
|