Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Session ¶
type Session interface {
table.ClosableSession
Status() string
OnClose(f func(ctx context.Context))
// contains filtered or unexported methods
}
type SessionBuilder ¶
SessionBuilder is the interface that holds logic of creating sessions.
type SessionProvider ¶
type SessionProvider interface {
// Get returns alive idle session or creates new one.
Get(context.Context) (Session, error)
// Put takes no longer needed session for reuse or deletion depending
// on implementation.
// Put must be fast, if necessary must be async
Put(context.Context, Session) (err error)
// CloseSession provides the most effective way of session closing
// instead of plain session.Close().
// CloseSession must be fast. If necessary, can be async.
CloseSession(ctx context.Context, s Session) error
}
SessionProvider is the interface that holds session lifecycle logic.
func SingleSession ¶
func SingleSession(s Session) SessionProvider
SingleSession returns SessionProvider that uses only given session during retries.
type SessionProviderFunc ¶
type SessionProviderFunc struct {
OnGet func(context.Context) (Session, error)
OnPut func(context.Context, Session) error
}
func (SessionProviderFunc) CloseSession ¶
func (f SessionProviderFunc) CloseSession(ctx context.Context, s Session) error
Source Files
¶
Click to show internal directories.
Click to hide internal directories.