mirror of
				https://github.com/v2fly/v2ray-core.git
				synced 2025-11-04 11:49:16 +00:00 
			
		
		
		
	detect underlying mux worker closed
This commit is contained in:
		
							parent
							
								
									f3ad8acbe4
								
							
						
					
					
						commit
						ff310d6bc6
					
				@ -137,7 +137,7 @@ func (w *BridgeWorker) Close() error {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (w *BridgeWorker) IsActive() bool {
 | 
			
		||||
	return w.state == Control_ACTIVE
 | 
			
		||||
	return w.state == Control_ACTIVE && !w.worker.Closed()
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (w *BridgeWorker) Connections() uint32 {
 | 
			
		||||
 | 
			
		||||
@ -96,6 +96,10 @@ func (w *ServerWorker) ActiveConnections() uint32 {
 | 
			
		||||
	return uint32(w.sessionManager.Size())
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (w *ServerWorker) Closed() bool {
 | 
			
		||||
	return w.sessionManager.Closed()
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (w *ServerWorker) handleStatusKeepAlive(meta *FrameMetadata, reader *buf.BufferedReader) error {
 | 
			
		||||
	if meta.Option.Has(OptionData) {
 | 
			
		||||
		return buf.Copy(NewStreamReader(reader), buf.Discard)
 | 
			
		||||
 | 
			
		||||
@ -22,6 +22,13 @@ func NewSessionManager() *SessionManager {
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (m *SessionManager) Closed() bool {
 | 
			
		||||
	m.RLock()
 | 
			
		||||
	defer m.RUnlock()
 | 
			
		||||
 | 
			
		||||
	return m.closed
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (m *SessionManager) Size() int {
 | 
			
		||||
	m.RLock()
 | 
			
		||||
	defer m.RUnlock()
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user