Documentation ¶
Index ¶
- Variables
- type Database
- func (db *Database) Acquire(sid string, expires time.Duration) sessions.LifeTime
- func (db *Database) Clear(sid string) error
- func (db *Database) Close() error
- func (db *Database) Decode(sid, key string, outPtr interface{}) error
- func (db *Database) Delete(sid string, key string) (deleted bool)
- func (db *Database) Get(sid string, key string) (value interface{})
- func (db *Database) Len(sid string) (n int)
- func (db *Database) OnUpdateExpiration(sid string, newExpires time.Duration) error
- func (db *Database) Release(sid string) error
- func (db *Database) Set(sid string, key string, value interface{}, dur time.Duration, immutable bool) error
- func (db *Database) SetLogger(logger *golog.Logger)
- func (db *Database) Visit(sid string, cb func(key string, value interface{})) error
Constants ¶
This section is empty.
Variables ¶
var DefaultGRPCDialOptions []grpc.DialOption = []grpc.DialOption{grpc.WithTransportCredentials(insecure.NewCredentials())}
DefaultGRPCDialOptions is used on `grpc.Dial` call of the `New` package-level function.
Functions ¶
This section is empty.
Types ¶
type Database ¶
type Database struct { Service *dgo.Dgraph // contains filtered or unexported fields }
Database the BoltDB(file-based) session storage.
func New ¶
New creates and returns a new Dgraph database connection to "target" with the DefaultGRPCDialOptions, which contains `insecure.NewCredentials()`. Target should include the url to Dgraph's alpha gRPC-external-public port.
It will remove any old session files.
func NewFromDB ¶
func NewFromDB(conn *grpc.ClientConn) (*Database, error)
NewFromDB same as `New` but accepts an already-created secured gRPC connection instead.
func (*Database) Acquire ¶
Acquire receives a session's lifetime from the database, if the return value is LifeTime{} then the session manager sets the life time based on the expiration duration lives in configuration.
func (*Database) OnUpdateExpiration ¶
OnUpdateExpiration not implemented here, yet. Note that this error will not be logged, callers should catch it manually.
func (*Database) Release ¶
Release destroys the session, it clears and removes the session entry, session manager will create a new session ID on the next request after this call.
func (*Database) Set ¶
func (db *Database) Set(sid string, key string, value interface{}, dur time.Duration, immutable bool) error
Set sets a key value of a specific session. Ignore the "immutable".