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