diff options
author | HimbeerserverDE <himbeerserverde@gmail.com> | 2021-09-06 11:03:27 +0200 |
---|---|---|
committer | HimbeerserverDE <himbeerserverde@gmail.com> | 2021-09-06 11:03:27 +0200 |
commit | 18a80c7a57639a540965f9b101db18c6490cd804 (patch) | |
tree | 0c25e38ef68706186e10416e790c4ffd832abdf3 /connect.go | |
parent | 1de8660e9d4c8f14a3b887e6f137d1c44a2664ef (diff) |
Expose ClientConn to plugins
Diffstat (limited to 'connect.go')
-rw-r--r-- | connect.go | 16 |
1 files changed, 12 insertions, 4 deletions
@@ -1,4 +1,4 @@ -package main +package proxy import ( "net" @@ -6,8 +6,16 @@ import ( "github.com/anon55555/mt" ) -func connect(conn net.Conn, name string, cc *clientConn) *serverConn { - sc := &serverConn{ +func Connect(conn net.Conn, name string, cc *ClientConn) *ServerConn { + cc.mu.RLock() + if cc.srv != nil { + cc.Log("<->", "already connected to server") + cc.mu.RUnlock() + return nil + } + cc.mu.RUnlock() + + sc := &ServerConn{ Peer: mt.Connect(conn), initCh: make(chan struct{}), clt: cc, @@ -18,7 +26,7 @@ func connect(conn net.Conn, name string, cc *clientConn) *serverConn { huds: make(map[mt.HUDID]mt.HUDType), playerList: make(map[string]struct{}), } - sc.log("-->", "connect") + sc.Log("-->", "connect") cc.mu.Lock() cc.srv = sc |