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.