session

package
v0.5.7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 8, 2021 License: BSD-3-Clause Imports: 7 Imported by: 1

Documentation

Index

Constants

View Source
const (
	// IRODSSessionConnectionMaxMin is a minimum value for connection max
	IRODSSessionConnectionMaxMin = 5
	// IRODSSessionConnectionMaxDefault is a default value for connection max
	IRODSSessionConnectionMaxDefault = 10
	// IRODSSessionTimeoutDefault is a default value for timeout
	IRODSSessionTimeoutDefault = 5 * time.Minute
)

Variables

This section is empty.

Functions

This section is empty.

Types

type ConnectionPool added in v0.5.7

type ConnectionPool struct {
	// contains filtered or unexported fields
}

ConnectionPool is a struct for connection pool

func NewConnectionPool added in v0.5.7

func NewConnectionPool(config *ConnectionPoolConfig) (*ConnectionPool, error)

NewConnectionPool creates a new ConnectionPool

func (*ConnectionPool) Get added in v0.5.7

Get gets a new or an idle connection out of the pool

func (*ConnectionPool) IdleConnections added in v0.5.7

func (pool *ConnectionPool) IdleConnections() int

IdleConnections returns total number of idle connections

func (*ConnectionPool) OccupiedConnections added in v0.5.7

func (pool *ConnectionPool) OccupiedConnections() int

OccupiedConnections returns total number of connections in use

func (*ConnectionPool) OpenConnections added in v0.5.7

func (pool *ConnectionPool) OpenConnections() int

OpenConnections returns total number of connections

func (*ConnectionPool) Release added in v0.5.7

func (pool *ConnectionPool) Release()

Release releases all resources

func (*ConnectionPool) Return added in v0.5.7

func (pool *ConnectionPool) Return(conn *connection.IRODSConnection) error

Return returns the connection after use

type ConnectionPoolConfig added in v0.5.7

type ConnectionPoolConfig struct {
	Account          *types.IRODSAccount
	ApplicationName  string
	InitialCap       int
	MaxIdle          int
	MaxCap           int // output warning if total connections exceeds mapcap
	IdleTimeout      time.Duration
	OperationTimeout time.Duration
}

ConnectionPoolConfig is for connection pool configuration

type IRODSSession

type IRODSSession struct {
	// contains filtered or unexported fields
}

IRODSSession manages connections to iRODS

func NewIRODSSession

func NewIRODSSession(account *types.IRODSAccount, config *IRODSSessionConfig) (*IRODSSession, error)

NewIRODSSession create a IRODSSession

func (*IRODSSession) AcquireConnection

func (sess *IRODSSession) AcquireConnection() (*connection.IRODSConnection, error)

AcquireConnection returns an idle connection

func (*IRODSSession) Connections

func (sess *IRODSSession) Connections() int

Connections returns the number of connections in the pool

func (*IRODSSession) Release

func (sess *IRODSSession) Release()

Release releases all connections

func (*IRODSSession) ReturnConnection

func (sess *IRODSSession) ReturnConnection(conn *connection.IRODSConnection) error

ReturnConnection returns an idle connection

type IRODSSessionConfig

type IRODSSessionConfig struct {
	ApplicationName      string
	OperationTimeout     time.Duration
	IdleTimeout          time.Duration
	ConnectionMax        int
	ConnectionInitNumber int
	ConnectionMaxIdle    int
	StartNewTransaction  bool
}

IRODSSessionConfig is for session configuration

func NewIRODSSessionConfig

func NewIRODSSessionConfig(applicationName string, operationTimeout time.Duration, idleTimeout time.Duration, connectionMax int, startNewTransaction bool) *IRODSSessionConfig

NewIRODSSessionConfig create a IRODSSessionConfig

func NewIRODSSessionConfigWithDefault

func NewIRODSSessionConfigWithDefault(applicationName string) *IRODSSessionConfig

NewIRODSSessionConfigWithDefault create a IRODSSessionConfig with a default settings

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL