Use gitea forked macaron (#7933)
Signed-off-by: Tamal Saha <tamal@appscode.com>
This commit is contained in:
parent
ca6fb004ac
commit
171b359877
408 changed files with 14882 additions and 13217 deletions
33
vendor/github.com/couchbaselabs/go-couchbase/conn_pool.go
generated
vendored
33
vendor/github.com/couchbaselabs/go-couchbase/conn_pool.go
generated
vendored
|
@ -1,6 +1,7 @@
|
|||
package couchbase
|
||||
|
||||
import (
|
||||
"crypto/tls"
|
||||
"errors"
|
||||
"sync/atomic"
|
||||
"time"
|
||||
|
@ -36,7 +37,7 @@ var ConnPoolAvailWaitTime = time.Millisecond
|
|||
|
||||
type connectionPool struct {
|
||||
host string
|
||||
mkConn func(host string, ah AuthHandler) (*memcached.Client, error)
|
||||
mkConn func(host string, ah AuthHandler, tlsConfig *tls.Config, bucketName string) (*memcached.Client, error)
|
||||
auth AuthHandler
|
||||
connections chan *memcached.Client
|
||||
createsem chan bool
|
||||
|
@ -44,9 +45,11 @@ type connectionPool struct {
|
|||
poolSize int
|
||||
connCount uint64
|
||||
inUse bool
|
||||
tlsConfig *tls.Config
|
||||
bucket string
|
||||
}
|
||||
|
||||
func newConnectionPool(host string, ah AuthHandler, closer bool, poolSize, poolOverflow int) *connectionPool {
|
||||
func newConnectionPool(host string, ah AuthHandler, closer bool, poolSize, poolOverflow int, tlsConfig *tls.Config, bucket string) *connectionPool {
|
||||
connSize := poolSize
|
||||
if closer {
|
||||
connSize += poolOverflow
|
||||
|
@ -58,6 +61,8 @@ func newConnectionPool(host string, ah AuthHandler, closer bool, poolSize, poolO
|
|||
mkConn: defaultMkConn,
|
||||
auth: ah,
|
||||
poolSize: poolSize,
|
||||
tlsConfig: tlsConfig,
|
||||
bucket: bucket,
|
||||
}
|
||||
if closer {
|
||||
rv.bailOut = make(chan bool, 1)
|
||||
|
@ -69,10 +74,19 @@ func newConnectionPool(host string, ah AuthHandler, closer bool, poolSize, poolO
|
|||
// ConnPoolTimeout is notified whenever connections are acquired from a pool.
|
||||
var ConnPoolCallback func(host string, source string, start time.Time, err error)
|
||||
|
||||
func defaultMkConn(host string, ah AuthHandler) (*memcached.Client, error) {
|
||||
// Use regular in-the-clear connection if tlsConfig is nil.
|
||||
// Use secure connection (TLS) if tlsConfig is set.
|
||||
func defaultMkConn(host string, ah AuthHandler, tlsConfig *tls.Config, bucketName string) (*memcached.Client, error) {
|
||||
var features memcached.Features
|
||||
|
||||
conn, err := memcached.Connect("tcp", host)
|
||||
var conn *memcached.Client
|
||||
var err error
|
||||
if tlsConfig == nil {
|
||||
conn, err = memcached.Connect("tcp", host)
|
||||
} else {
|
||||
conn, err = memcached.ConnectTLS("tcp", host, tlsConfig)
|
||||
}
|
||||
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
@ -92,6 +106,10 @@ func defaultMkConn(host string, ah AuthHandler) (*memcached.Client, error) {
|
|||
features = append(features, memcached.FeatureXattr)
|
||||
}
|
||||
|
||||
if EnableCollections {
|
||||
features = append(features, memcached.FeatureCollections)
|
||||
}
|
||||
|
||||
if len(features) > 0 {
|
||||
if DefaultTimeout > 0 {
|
||||
conn.SetDeadline(getDeadline(noDeadline, DefaultTimeout))
|
||||
|
@ -122,6 +140,11 @@ func defaultMkConn(host string, ah AuthHandler) (*memcached.Client, error) {
|
|||
return conn, nil
|
||||
}
|
||||
name, pass, bucket := ah.GetCredentials()
|
||||
if bucket == "" {
|
||||
// Authenticator does not know specific bucket.
|
||||
bucket = bucketName
|
||||
}
|
||||
|
||||
if name != "default" {
|
||||
_, err = conn.Auth(name, pass)
|
||||
if err != nil {
|
||||
|
@ -221,7 +244,7 @@ func (cp *connectionPool) GetWithTimeout(d time.Duration) (rv *memcached.Client,
|
|||
// Build a connection if we can't get a real one.
|
||||
// This can potentially be an overflow connection, or
|
||||
// a pooled connection.
|
||||
rv, err := cp.mkConn(cp.host, cp.auth)
|
||||
rv, err := cp.mkConn(cp.host, cp.auth, cp.tlsConfig, cp.bucket)
|
||||
if err != nil {
|
||||
// On error, release our create hold
|
||||
<-cp.createsem
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue