ing
This commit is contained in:
		
							parent
							
								
									28f0cbb621
								
							
						
					
					
						commit
						27ca509636
					
				
							
								
								
									
										32
									
								
								socket.go
									
									
									
									
									
								
							
							
						
						
									
										32
									
								
								socket.go
									
									
									
									
									
								
							| @ -3,6 +3,7 @@ package websocket_fasthttp | ||||
| import ( | ||||
| 	"io" | ||||
| 	"net" | ||||
| 	"sync" | ||||
| 	"time" | ||||
| 
 | ||||
| 	"git.loafle.net/commons_go/websocket_fasthttp/websocket" | ||||
| @ -147,7 +148,7 @@ type Socket interface { | ||||
| } | ||||
| 
 | ||||
| func newSocket(socketHandler SocketHandler, socketCTX SocketContext, conn *websocket.Conn, id string) Socket { | ||||
| 	s := &fasthttpWebSocket{} | ||||
| 	s := retainSocket() | ||||
| 	s.Conn = conn | ||||
| 	s.sh = socketHandler | ||||
| 	s.id = id | ||||
| @ -219,6 +220,7 @@ func (s *fasthttpWebSocket) WriteMessage(messageType int, data []byte) error { | ||||
| 
 | ||||
| func (s *fasthttpWebSocket) Close() error { | ||||
| 	err := s.Conn.Close() | ||||
| 	releaseSocket(s) | ||||
| 	return err | ||||
| } | ||||
| 
 | ||||
| @ -278,23 +280,23 @@ func (s *fasthttpWebSocket) Close() error { | ||||
| // 	return sc.s.SetWriteDeadline(t) | ||||
| // } | ||||
| 
 | ||||
| // var socketPool sync.Pool | ||||
| var socketPool sync.Pool | ||||
| 
 | ||||
| // func retainSocket() *fasthttpWebSocket { | ||||
| // 	v := socketPool.Get() | ||||
| // 	if v == nil { | ||||
| // 		return &fasthttpWebSocket{} | ||||
| // 	} | ||||
| // 	return v.(*fasthttpWebSocket) | ||||
| // } | ||||
| func retainSocket() *fasthttpWebSocket { | ||||
| 	v := socketPool.Get() | ||||
| 	if v == nil { | ||||
| 		return &fasthttpWebSocket{} | ||||
| 	} | ||||
| 	return v.(*fasthttpWebSocket) | ||||
| } | ||||
| 
 | ||||
| // func releaseSocket(s *fasthttpWebSocket) { | ||||
| // 	s.sh = nil | ||||
| // 	s.ctx = nil | ||||
| // 	s.id = "" | ||||
| func releaseSocket(s *fasthttpWebSocket) { | ||||
| 	s.sh = nil | ||||
| 	s.ctx = nil | ||||
| 	s.id = "" | ||||
| 
 | ||||
| // 	socketPool.Put(s) | ||||
| // } | ||||
| 	socketPool.Put(s) | ||||
| } | ||||
| 
 | ||||
| // var socketConnPool sync.Pool | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user