mirror of https://github.com/XTLS/Xray-core
				
				
				
			
		
			
				
	
	
		
			26 lines
		
	
	
		
			514 B
		
	
	
	
		
			Go
		
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			514 B
		
	
	
	
		
			Go
		
	
	
package dispatcher
 | 
						|
 | 
						|
import (
 | 
						|
	"github.com/xtls/xray-core/common"
 | 
						|
	"github.com/xtls/xray-core/common/buf"
 | 
						|
	"github.com/xtls/xray-core/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)
 | 
						|
}
 |