Documentation ¶
Index ¶
Constants ¶
View Source
const ( // DialTimeout the timeout of create connection DialTimeout = 5 * time.Second // BackoffMaxDelay provided maximum delay when backing off after failed connection attempts. BackoffMaxDelay = 3 * time.Second // KeepAliveTime is the duration of time after which if the client doesn't see // any activity it pings the server to see if the transport is still alive. KeepAliveTime = time.Duration(10) * time.Second // KeepAliveTimeout is the duration of time for which the client waits after having // pinged for keepalive check and if no activity is seen even after that the connection // is closed. KeepAliveTimeout = time.Duration(3) * time.Second // InitialWindowSize we set it 1GB is to provide system's throughput. InitialWindowSize = 1 << 30 // InitialConnWindowSize we set it 1GB is to provide system's throughput. InitialConnWindowSize = 1 << 30 // MaxSendMsgSize set max gRPC request message size sent to server. // If any request message size is larger than current value, an error will be reported from gRPC. MaxSendMsgSize = 4 << 30 // MaxRecvMsgSize set max gRPC receive message size received from server. // If any message size is larger than current value, an error will be reported from gRPC. MaxRecvMsgSize = 4 << 30 )
Variables ¶
View Source
var DefaultOptions = options{ Dial: Dial, MaxIdle: 4, MaxActive: 16, MaxConcurrentStreams: 16, Reuse: true, }
DefaultOptions sets a list of recommended options for good performance. Feel free to modify these to suit your needs.
View Source
var ErrClosed = errors.New("pool is closed")
ErrClosed is the error resulting if the pool is closed via pool.Close().
Functions ¶
Types ¶
type Conn ¶
type Conn interface { // Value return the actual grpc connection type *grpc.ClientConn. Value() *grpc.ClientConn // Close decrease the reference of grpc connection, instead of close it. // if the pool is full, just close it. Close() error }
type Pool ¶
type Pool interface { // Get returns a new connection from the pool. Closing the connections puts // it back to the Pool. Closing it when the pool is destroyed or full will // be counted as an error. we guarantee the conn.Value() isn't nil when conn isn't nil. Get() (Conn, error) // Close closes the pool and all its connections. After Close() the pool is // no longer usable. You can't make concurrent calls Close and Get method. // It will be cause panic. Close() error // Status returns the current status of the pool. Status() string }
Click to show internal directories.
Click to hide internal directories.