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 {
 | 
					func (w *BridgeWorker) IsActive() bool {
 | 
				
			||||||
	return w.state == Control_ACTIVE
 | 
						return w.state == Control_ACTIVE && !w.worker.Closed()
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (w *BridgeWorker) Connections() uint32 {
 | 
					func (w *BridgeWorker) Connections() uint32 {
 | 
				
			||||||
 | 
				
			|||||||
@ -96,6 +96,10 @@ func (w *ServerWorker) ActiveConnections() uint32 {
 | 
				
			|||||||
	return uint32(w.sessionManager.Size())
 | 
						return uint32(w.sessionManager.Size())
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (w *ServerWorker) Closed() bool {
 | 
				
			||||||
 | 
						return w.sessionManager.Closed()
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (w *ServerWorker) handleStatusKeepAlive(meta *FrameMetadata, reader *buf.BufferedReader) error {
 | 
					func (w *ServerWorker) handleStatusKeepAlive(meta *FrameMetadata, reader *buf.BufferedReader) error {
 | 
				
			||||||
	if meta.Option.Has(OptionData) {
 | 
						if meta.Option.Has(OptionData) {
 | 
				
			||||||
		return buf.Copy(NewStreamReader(reader), buf.Discard)
 | 
							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 {
 | 
					func (m *SessionManager) Size() int {
 | 
				
			||||||
	m.RLock()
 | 
						m.RLock()
 | 
				
			||||||
	defer m.RUnlock()
 | 
						defer m.RUnlock()
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user