func (r *Runner) removeSocket(ctx context.Context, m message.Message) {
	if socketIn, ok := r.playerSockets[m.PlayerName][m.Addr]; ok {
		close(socketIn)
	}
	delete(r.playerSockets[m.PlayerName], m.Addr)
	if len(r.playerSockets[m.PlayerName]) == 0 {
		delete(r.playerSockets, m.PlayerName)
	}
	r.leaveGame(ctx, m)
}
// removeSocket removes the socket from the runner.
removeSocket removes the socket from the runner.
// removeSocket removes the socket from the runner .
func (r *Runner) removeSocket(ctx context.Context, m message.Message) {
	if socketIn, ok := r.playerSockets[m.PlayerName][m.Addr]; ok {
		close(socketIn)
	}
	delete(r.playerSockets[m.PlayerName], m.Addr)
	if len(r.playerSockets[m.PlayerName]) == 0 {
		delete(r.playerSockets, m.PlayerName)
	}
	r.leaveGame(ctx, m)
}
func ( r * Runner ) removeSocket ( ctx context . Context , m message . Message ) { if socketIn , ok := r . playerSockets [ m . PlayerName ] [ m . Addr ] ; ok { close ( socketIn ) } delete ( r . playerSockets [ m . PlayerName ] , m . Addr ) if len ( r . playerSockets [ m . PlayerName ] ) == 0 { delete ( r . playerSockets , m . PlayerName ) } r . leaveGame ( ctx , m ) }
removeSocket removes the socket from the runner.
removeSocket removes the socket from the runner .