conn.go 604 Bytes
Newer Older
Vladimir Barsukov's avatar
init  
Vladimir Barsukov committed
1
2
3
package zdb

import (
Vladimir Barsukov's avatar
Vladimir Barsukov committed
4
	"fmt"
Vladimir Barsukov's avatar
init  
Vladimir Barsukov committed
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
	"github.com/jackc/pgx/v5/pgxpool"
)

type conn struct {
	*pgxpool.Pool

	Mode  connMode
	Alive bool
}

type connMode int

const (
	ConnModeMaster connMode = iota
	ConnModeSync
	ConnModeAsync
Vladimir Barsukov's avatar
Vladimir Barsukov committed
21
	connModePool
Vladimir Barsukov's avatar
init  
Vladimir Barsukov committed
22
23
24
25
26
27
28
29
30
31
)

func (c connMode) String() string {
	switch c {
	case ConnModeMaster:
		return "master"
	case ConnModeSync:
		return "sync"
	case ConnModeAsync:
		return "async"
Vladimir Barsukov's avatar
Vladimir Barsukov committed
32
33
	case connModePool:
		return "pool"
Vladimir Barsukov's avatar
init  
Vladimir Barsukov committed
34
35
36
37
	default:
		return "unknown"
	}
}
Vladimir Barsukov's avatar
Vladimir Barsukov committed
38
39
40
41

func (c conn) ToString() string {
	return fmt.Sprintf("%s: %s:%d", c.Mode, c.Config().ConnConfig.Host, c.Config().ConnConfig.Port)
}