Documentation
¶
Index ¶
- Constants
- func AuthenticateClient(conn *IRODSConnection, authPlugin IRODSAuthPlugin, ...) error
- func AuthenticateNative(conn *IRODSConnection, password string) error
- func AuthenticatePAMWithPassword(conn *IRODSConnection, password string) error
- func AuthenticatePAMWithToken(conn *IRODSConnection, token string) error
- type BaseIRODSAuthPlugin
- func (plugin *BaseIRODSAuthPlugin) AddOperation(name string, operation IRODSAuthPluginOperationFunc)
- func (plugin *BaseIRODSAuthPlugin) Execute(conn *IRODSConnection, operationName string, context *IRODSAuthContext) (*IRODSAuthContext, error)
- func (plugin *BaseIRODSAuthPlugin) Request(conn *IRODSConnection, context *IRODSAuthContext) (*IRODSAuthContext, error)
- type CheckErrorResponse
- type IRODSAuthContext
- func (ctx *IRODSAuthContext) CopyTo(newContext *IRODSAuthContext)
- func (ctx *IRODSAuthContext) Get(key string) (interface{}, bool)
- func (ctx *IRODSAuthContext) GetCopy() *IRODSAuthContext
- func (ctx *IRODSAuthContext) GetJSON(key string) ([]byte, bool)
- func (ctx *IRODSAuthContext) GetMap(key string) (map[string]interface{}, bool)
- func (ctx *IRODSAuthContext) GetMapArray(key string) ([]map[string]interface{}, bool)
- func (ctx *IRODSAuthContext) GetObjectArray(key string) ([]interface{}, bool)
- func (ctx *IRODSAuthContext) GetRedacted() *IRODSAuthContext
- func (ctx *IRODSAuthContext) GetString(key string) (string, bool)
- func (ctx *IRODSAuthContext) Has(key string) bool
- func (ctx *IRODSAuthContext) Remove(key string)
- func (ctx *IRODSAuthContext) Set(key string, value interface{})
- type IRODSAuthPlugin
- type IRODSAuthPluginOperationFunc
- type IRODSConnection
- func (conn *IRODSConnection) Commit() error
- func (conn *IRODSConnection) Connect() error
- func (conn *IRODSConnection) Disconnect() error
- func (conn *IRODSConnection) GetAccount() *types.IRODSAccount
- func (conn *IRODSConnection) GetClientSignature() string
- func (conn *IRODSConnection) GetCreationTime() time.Time
- func (conn *IRODSConnection) GetLastSuccessfulAccess() time.Time
- func (conn *IRODSConnection) GetLongResponseOperationTimeout() *RequestResponseTimeout
- func (conn *IRODSConnection) GetMetrics() *metrics.IRODSMetrics
- func (conn *IRODSConnection) GetOperationTimeout() *RequestResponseTimeout
- func (conn *IRODSConnection) GetPAMToken() string
- func (conn *IRODSConnection) GetSSLSharedSecret() []byte
- func (conn *IRODSConnection) GetVersion() *types.IRODSVersion
- func (conn *IRODSConnection) IsConnected() bool
- func (conn *IRODSConnection) IsLoggedIn() bool
- func (conn *IRODSConnection) IsSSL() bool
- func (conn *IRODSConnection) IsSocketFailed() bool
- func (conn *IRODSConnection) IsTransactionDirty() bool
- func (conn *IRODSConnection) Lock()
- func (conn *IRODSConnection) PoorMansRollback() error
- func (conn *IRODSConnection) RawBind(socket net.Conn)
- func (conn *IRODSConnection) ReadMessage(bsBuffer []byte, timeout time.Duration) (*message.IRODSMessage, error)
- func (conn *IRODSConnection) ReadMessageWithTrackerCallBack(bsBuffer []byte, timeout time.Duration, ...) (*message.IRODSMessage, error)
- func (conn *IRODSConnection) Reconnect() error
- func (conn *IRODSConnection) Recv(buffer []byte, size int, timeout *time.Duration) (int, error)
- func (conn *IRODSConnection) RecvToWriter(writer io.Writer, size int64, timeout *time.Duration) (int64, error)
- func (conn *IRODSConnection) RecvWithTrackerCallBack(buffer []byte, size int, timeout *time.Duration, ...) (int, error)
- func (conn *IRODSConnection) Request(request Request, response Response, bsBuffer []byte, ...) error
- func (conn *IRODSConnection) RequestAndCheck(request Request, response CheckErrorResponse, bsBuffer []byte, ...) error
- func (conn *IRODSConnection) RequestAndCheckWithTrackerCallBack(request Request, response CheckErrorResponse, bsBuffer []byte, ...) error
- func (conn *IRODSConnection) RequestAsyncWithTrackerCallBack(rrChan chan RequestResponsePair) chan RequestResponsePair
- func (conn *IRODSConnection) RequestWithTrackerCallBack(request Request, response Response, bsBuffer []byte, ...) error
- func (conn *IRODSConnection) RequestWithoutResponse(request Request, timeout *RequestResponseTimeout) error
- func (conn *IRODSConnection) Rollback() error
- func (conn *IRODSConnection) Send(buffer []byte, size int, timeout *time.Duration) error
- func (conn *IRODSConnection) SendFromReader(src io.Reader, size int64, timeout *time.Duration) (int64, error)
- func (conn *IRODSConnection) SendMessage(msg *message.IRODSMessage, timeout time.Duration) error
- func (conn *IRODSConnection) SendMessageWithTrackerCallBack(msg *message.IRODSMessage, timeout time.Duration, ...) error
- func (conn *IRODSConnection) SendWithTrackerCallBack(buffer []byte, size int, timeout *time.Duration, ...) error
- func (conn *IRODSConnection) SetReadTimeout(timeout time.Duration) error
- func (conn *IRODSConnection) SetTransactionDirty(dirtyTransaction bool)
- func (conn *IRODSConnection) SetWriteTimeout(timeout time.Duration) error
- func (conn *IRODSConnection) SupportParallelUpload() bool
- func (conn *IRODSConnection) Unlock()
- type IRODSConnectionConfig
- type IRODSResourceServerConnection
- func (conn *IRODSResourceServerConnection) Connect() error
- func (conn *IRODSResourceServerConnection) Decrypt(iv []byte, source []byte, dest []byte) (int, error)
- func (conn *IRODSResourceServerConnection) Disconnect() error
- func (conn *IRODSResourceServerConnection) Encrypt(iv []byte, source []byte, dest []byte) (int, error)
- func (conn *IRODSResourceServerConnection) GetCreationTime() time.Time
- func (conn *IRODSResourceServerConnection) GetLastSuccessfulAccess() time.Time
- func (conn *IRODSResourceServerConnection) GetMetrics() *metrics.IRODSMetrics
- func (conn *IRODSResourceServerConnection) GetServerInfo() *types.IRODSRedirectionInfo
- func (conn *IRODSResourceServerConnection) IsConnected() bool
- func (conn *IRODSResourceServerConnection) Lock()
- func (conn *IRODSResourceServerConnection) Recv(buffer []byte, size int, timeout *time.Duration) (int, error)
- func (conn *IRODSResourceServerConnection) RecvToWriter(writer io.Writer, size int64, timeout *time.Duration) (int64, error)
- func (conn *IRODSResourceServerConnection) RecvWithTrackerCallBack(buffer []byte, size int, timeout *time.Duration, ...) (int, error)
- func (conn *IRODSResourceServerConnection) Send(buffer []byte, size int, timeout *time.Duration) error
- func (conn *IRODSResourceServerConnection) SendFromReader(src io.Reader, size int64, timeout *time.Duration) (int64, error)
- func (conn *IRODSResourceServerConnection) SendWithTrackerCallBack(buffer []byte, size int, timeout *time.Duration, ...) error
- func (conn *IRODSResourceServerConnection) SetReadTimeout(timeout time.Duration) error
- func (conn *IRODSResourceServerConnection) SetWriteTimeout(timeout time.Duration) error
- func (conn *IRODSResourceServerConnection) Unlock()
- type IRODSResourceServerConnectionConfig
- type NativeAuthPlugin
- type PAMInteractiveAuthPlugin
- type PAMInteractiveInputHandler
- type PAMPasswordAuthPlugin
- type Request
- type RequestResponsePair
- type RequestResponseTimeout
- type Response
Constants ¶
const ( AUTH_CLIENT_START string = "auth_client_start" AUTH_AGENT_START string = "auth_agent_start" AUTH_ESTABLISH_CONTEXT string = "auth_establish_context" AUTH_CLIENT_AUTH_REQUEST string = "auth_client_auth_request" AUTH_AGENT_AUTH_REQUEST string = "auth_agent_auth_request" AUTH_CLIENT_AUTH_RESPONSE string = "auth_client_auth_response" AUTH_AGENT_AUTH_RESPONSE string = "auth_agent_auth_response" AUTH_AGENT_AUTH_VERIFY string = "auth_agent_auth_verify" AUTH_FLOW_COMPLETE string = "authentication_flow_complete" AUTH_NEXT_OPERATION string = "next_operation" // TODO This one may not be necessary. It is used in the C++ implementations // to control whether the plugins prompt the user for input. That is something // the developer can implement ahead of time, I think. Then again, the plugin // may be designed to prompt the client at certain times. AUTH_FORCE_PASSWORD_PROMPT string = "force_password_prompt" // Client Options AUTH_USER_KEY string = "a_user" AUTH_SCHEME_KWY string = "a_scheme" AUTH_TTL_KEY string = "a_ttl" AUTH_PASSWORD_KEY string = "a_pw" AUTH_RESPONSE_KEY string = "a_resp" )
const ( ApplicationNameDefault string = "go-irodsclient" ConnectTimeoutDefault time.Duration = 30 * time.Second // 30 seconds TcpBufferSizeDefault int = 4 * 1024 * 1024 OperationTimeoutDefault time.Duration = 1 * time.Minute LongOperationTimeoutDefault time.Duration = 5 * time.Minute )
const ( NATIVE_AUTH_CHALLENGE_LEN int = 64 NATIVE_AUTH_RESPONSE_LEN int = 16 )
const ( PAM_INTERACTIVE_AUTH_PERFORM_RUNNING string = "running" PAM_INTERACTIVE_AUTH_PERFORM_READY string = "ready" PAM_INTERACTIVE_AUTH_PERFORM_WAITING string = "waiting" PAM_INTERACTIVE_AUTH_PERFORM_WAITING_PW string = "waiting_pw" PAM_INTERACTIVE_AUTH_PERFORM_RESPONSE string = "response" PAM_INTERACTIVE_AUTH_PERFORM_NEXT string = "next" PAM_INTERACTIVE_AUTH_PERFORM_ERROR string = "error" PAM_INTERACTIVE_AUTH_PERFORM_TIMEOUT string = "timeout" PAM_INTERACTIVE_AUTH_PERFORM_AUTHENTICATED string = "authenticated" PAM_INTERACTIVE_AUTH_PERFORM_NOT_AUTHENTICATED string = "not_authenticated" PAM_INTERACTIVE_AUTH_PERFORM_NATIVE_AUTH string = "perform_native_auth" )
const (
PAM_PASSWORD_AUTH_PERFORM_NATIVE_AUTH string = "perform_native_auth"
)
Variables ¶
This section is empty.
Functions ¶
func AuthenticateClient ¶ added in v0.19.0
func AuthenticateClient(conn *IRODSConnection, authPlugin IRODSAuthPlugin, requestContext *IRODSAuthContext) error
func AuthenticateNative ¶ added in v0.19.0
func AuthenticateNative(conn *IRODSConnection, password string) error
func AuthenticatePAMWithPassword ¶ added in v0.19.0
func AuthenticatePAMWithPassword(conn *IRODSConnection, password string) error
func AuthenticatePAMWithToken ¶ added in v0.19.0
func AuthenticatePAMWithToken(conn *IRODSConnection, token string) error
Types ¶
type BaseIRODSAuthPlugin ¶ added in v0.19.0
type BaseIRODSAuthPlugin struct {
// contains filtered or unexported fields
}
func (*BaseIRODSAuthPlugin) AddOperation ¶ added in v0.19.0
func (plugin *BaseIRODSAuthPlugin) AddOperation(name string, operation IRODSAuthPluginOperationFunc)
func (*BaseIRODSAuthPlugin) Execute ¶ added in v0.19.0
func (plugin *BaseIRODSAuthPlugin) Execute(conn *IRODSConnection, operationName string, context *IRODSAuthContext) (*IRODSAuthContext, error)
func (*BaseIRODSAuthPlugin) Request ¶ added in v0.19.0
func (plugin *BaseIRODSAuthPlugin) Request(conn *IRODSConnection, context *IRODSAuthContext) (*IRODSAuthContext, error)
type CheckErrorResponse ¶ added in v0.4.4
CheckErrorResponse is a Response on which CheckError can be called.
type IRODSAuthContext ¶ added in v0.19.0
type IRODSAuthContext struct {
// contains filtered or unexported fields
}
func NewIRODSAuthContext ¶ added in v0.19.0
func NewIRODSAuthContext() *IRODSAuthContext
func (*IRODSAuthContext) CopyTo ¶ added in v0.19.0
func (ctx *IRODSAuthContext) CopyTo(newContext *IRODSAuthContext)
func (*IRODSAuthContext) Get ¶ added in v0.19.0
func (ctx *IRODSAuthContext) Get(key string) (interface{}, bool)
func (*IRODSAuthContext) GetCopy ¶ added in v0.19.0
func (ctx *IRODSAuthContext) GetCopy() *IRODSAuthContext
func (*IRODSAuthContext) GetJSON ¶ added in v0.19.0
func (ctx *IRODSAuthContext) GetJSON(key string) ([]byte, bool)
func (*IRODSAuthContext) GetMap ¶ added in v0.19.0
func (ctx *IRODSAuthContext) GetMap(key string) (map[string]interface{}, bool)
func (*IRODSAuthContext) GetMapArray ¶ added in v0.19.0
func (ctx *IRODSAuthContext) GetMapArray(key string) ([]map[string]interface{}, bool)
func (*IRODSAuthContext) GetObjectArray ¶ added in v0.19.0
func (ctx *IRODSAuthContext) GetObjectArray(key string) ([]interface{}, bool)
func (*IRODSAuthContext) GetRedacted ¶ added in v0.19.0
func (ctx *IRODSAuthContext) GetRedacted() *IRODSAuthContext
func (*IRODSAuthContext) GetString ¶ added in v0.19.0
func (ctx *IRODSAuthContext) GetString(key string) (string, bool)
func (*IRODSAuthContext) Has ¶ added in v0.19.0
func (ctx *IRODSAuthContext) Has(key string) bool
func (*IRODSAuthContext) Remove ¶ added in v0.19.0
func (ctx *IRODSAuthContext) Remove(key string)
func (*IRODSAuthContext) Set ¶ added in v0.19.0
func (ctx *IRODSAuthContext) Set(key string, value interface{})
type IRODSAuthPlugin ¶ added in v0.19.0
type IRODSAuthPlugin interface {
AddOperation(name string, operation IRODSAuthPluginOperationFunc)
Execute(conn *IRODSConnection, operationName string, requestContext *IRODSAuthContext) (*IRODSAuthContext, error)
Request(conn *IRODSConnection, requestContext *IRODSAuthContext) (*IRODSAuthContext, error)
// plugin must implement this
GetName() string
AuthClientStart(conn *IRODSConnection, requestContext *IRODSAuthContext) (*IRODSAuthContext, error)
}
type IRODSAuthPluginOperationFunc ¶ added in v0.19.0
type IRODSAuthPluginOperationFunc func(conn *IRODSConnection, requestContext *IRODSAuthContext) (*IRODSAuthContext, error)
type IRODSConnection ¶
type IRODSConnection struct {
// contains filtered or unexported fields
}
IRODSConnection connects to iRODS
func NewIRODSConnection ¶
func NewIRODSConnection(account *types.IRODSAccount, config *IRODSConnectionConfig) (*IRODSConnection, error)
NewIRODSConnection create a IRODSConnection
func (*IRODSConnection) Commit ¶ added in v0.4.4
func (conn *IRODSConnection) Commit() error
Commit a transaction. This is useful in combination with the NO_COMMIT_FLAG. Usage is limited to privileged accounts.
func (*IRODSConnection) Connect ¶
func (conn *IRODSConnection) Connect() error
Connect connects to iRODS
func (*IRODSConnection) Disconnect ¶
func (conn *IRODSConnection) Disconnect() error
Disconnect disconnects
func (*IRODSConnection) GetAccount ¶ added in v0.6.0
func (conn *IRODSConnection) GetAccount() *types.IRODSAccount
GetAccount returns iRODSAccount
func (*IRODSConnection) GetClientSignature ¶ added in v0.10.0
func (conn *IRODSConnection) GetClientSignature() string
GetClientSignature returns client signature to be used in password obfuscation
func (*IRODSConnection) GetCreationTime ¶ added in v0.6.0
func (conn *IRODSConnection) GetCreationTime() time.Time
GetCreationTime returns creation time
func (*IRODSConnection) GetLastSuccessfulAccess ¶ added in v0.5.6
func (conn *IRODSConnection) GetLastSuccessfulAccess() time.Time
GetLastSuccessfulAccess returns last successful access time
func (*IRODSConnection) GetLongResponseOperationTimeout ¶ added in v0.18.0
func (conn *IRODSConnection) GetLongResponseOperationTimeout() *RequestResponseTimeout
func (*IRODSConnection) GetMetrics ¶ added in v0.9.7
func (conn *IRODSConnection) GetMetrics() *metrics.IRODSMetrics
GetMetrics returns metrics
func (*IRODSConnection) GetOperationTimeout ¶ added in v0.18.0
func (conn *IRODSConnection) GetOperationTimeout() *RequestResponseTimeout
func (*IRODSConnection) GetPAMToken ¶ added in v0.14.0
func (conn *IRODSConnection) GetPAMToken() string
GetPAMToken returns server generated token For PAM Auth
func (*IRODSConnection) GetSSLSharedSecret ¶ added in v0.14.0
func (conn *IRODSConnection) GetSSLSharedSecret() []byte
GetSSLSharedSecret returns ssl shared secret
func (*IRODSConnection) GetVersion ¶
func (conn *IRODSConnection) GetVersion() *types.IRODSVersion
GetVersion returns iRODS version
func (*IRODSConnection) IsConnected ¶
func (conn *IRODSConnection) IsConnected() bool
IsConnected returns if the connection is live
func (*IRODSConnection) IsLoggedIn ¶ added in v0.18.2
func (conn *IRODSConnection) IsLoggedIn() bool
func (*IRODSConnection) IsSSL ¶ added in v0.14.0
func (conn *IRODSConnection) IsSSL() bool
IsSSL returns if the connection is ssl
func (*IRODSConnection) IsSocketFailed ¶ added in v0.17.2
func (conn *IRODSConnection) IsSocketFailed() bool
func (*IRODSConnection) IsTransactionDirty ¶ added in v0.12.6
func (conn *IRODSConnection) IsTransactionDirty() bool
IsTransactionDirty returns true if transaction is dirty
func (*IRODSConnection) Lock ¶ added in v0.9.6
func (conn *IRODSConnection) Lock()
Lock locks connection
func (*IRODSConnection) PoorMansRollback ¶ added in v0.4.4
func (conn *IRODSConnection) PoorMansRollback() error
PoorMansRollback rolls back a transaction as a nonprivileged account, bypassing API limitations. A nonprivileged account cannot have staged operations, so rollback is always a no-op. The usage for this function, is that rolling back the current database transaction still will start a new one, so that future queries will see all changes that where made up to calling this function.
func (*IRODSConnection) RawBind ¶ added in v0.4.5
func (conn *IRODSConnection) RawBind(socket net.Conn)
RawBind binds an IRODSConnection to a raw net.Conn socket - to be used for e.g. a proxy server setup
func (*IRODSConnection) ReadMessage ¶
func (conn *IRODSConnection) ReadMessage(bsBuffer []byte, timeout time.Duration) (*message.IRODSMessage, error)
ReadMessage reads data from the given socket and returns IRODSMessage if bsBuffer is given, bs data will be written directly to the bsBuffer if not given, a new buffer will be allocated.
func (*IRODSConnection) ReadMessageWithTrackerCallBack ¶ added in v0.10.8
func (conn *IRODSConnection) ReadMessageWithTrackerCallBack(bsBuffer []byte, timeout time.Duration, callback common.TransferTrackerCallback) (*message.IRODSMessage, error)
func (*IRODSConnection) Reconnect ¶ added in v0.18.0
func (conn *IRODSConnection) Reconnect() error
func (*IRODSConnection) RecvToWriter ¶ added in v0.11.0
func (conn *IRODSConnection) RecvToWriter(writer io.Writer, size int64, timeout *time.Duration) (int64, error)
RecvToWriter receives a message to Writer
func (*IRODSConnection) RecvWithTrackerCallBack ¶ added in v0.10.8
func (conn *IRODSConnection) RecvWithTrackerCallBack(buffer []byte, size int, timeout *time.Duration, callback common.TransferTrackerCallback) (int, error)
Recv receives a message
func (*IRODSConnection) Request ¶ added in v0.4.4
func (conn *IRODSConnection) Request(request Request, response Response, bsBuffer []byte, timeout *RequestResponseTimeout) error
Request sends a request and expects a response. bsBuffer is optional
func (*IRODSConnection) RequestAndCheck ¶ added in v0.4.4
func (conn *IRODSConnection) RequestAndCheck(request Request, response CheckErrorResponse, bsBuffer []byte, timeout *RequestResponseTimeout) error
RequestAndCheck sends a request and expects a CheckErrorResponse, on which the error is already checked.
func (*IRODSConnection) RequestAndCheckWithTrackerCallBack ¶ added in v0.10.8
func (conn *IRODSConnection) RequestAndCheckWithTrackerCallBack(request Request, response CheckErrorResponse, bsBuffer []byte, timeout *RequestResponseTimeout, reqCallback common.TransferTrackerCallback, resCallback common.TransferTrackerCallback) error
RequestAndCheckWithCallBack sends a request and expects a CheckErrorResponse, on which the error is already checked.
func (*IRODSConnection) RequestAsyncWithTrackerCallBack ¶ added in v0.11.4
func (conn *IRODSConnection) RequestAsyncWithTrackerCallBack(rrChan chan RequestResponsePair) chan RequestResponsePair
RequestAsyncWithTrackerCallBack sends multiple requests and expects responses.
func (*IRODSConnection) RequestWithTrackerCallBack ¶ added in v0.10.8
func (conn *IRODSConnection) RequestWithTrackerCallBack(request Request, response Response, bsBuffer []byte, timeout *RequestResponseTimeout, reqCallback common.TransferTrackerCallback, resCallback common.TransferTrackerCallback) error
RequestWithTrackerCallBack sends a request and expects a response. bsBuffer is optional
func (*IRODSConnection) RequestWithoutResponse ¶ added in v0.9.0
func (conn *IRODSConnection) RequestWithoutResponse(request Request, timeout *RequestResponseTimeout) error
RequestWithoutResponse sends a request but does not wait for a response.
func (*IRODSConnection) Rollback ¶ added in v0.4.4
func (conn *IRODSConnection) Rollback() error
Rollback a transaction. This is useful in combination with the NO_COMMIT_FLAG. It can also be used to clear the current database transaction if there are no staged operations, just to refresh the view on the database for future queries. Usage is limited to privileged accounts.
func (*IRODSConnection) SendFromReader ¶ added in v0.11.0
func (conn *IRODSConnection) SendFromReader(src io.Reader, size int64, timeout *time.Duration) (int64, error)
SendFromReader sends data from Reader
func (*IRODSConnection) SendMessage ¶
func (conn *IRODSConnection) SendMessage(msg *message.IRODSMessage, timeout time.Duration) error
SendMessage makes the message into bytes
func (*IRODSConnection) SendMessageWithTrackerCallBack ¶ added in v0.10.8
func (conn *IRODSConnection) SendMessageWithTrackerCallBack(msg *message.IRODSMessage, timeout time.Duration, callback common.TransferTrackerCallback) error
SendMessageWithTrackerCallBack makes the message into bytes
func (*IRODSConnection) SendWithTrackerCallBack ¶ added in v0.10.8
func (conn *IRODSConnection) SendWithTrackerCallBack(buffer []byte, size int, timeout *time.Duration, callback common.TransferTrackerCallback) error
SendWithTrackerCallBack sends data
func (*IRODSConnection) SetReadTimeout ¶ added in v0.18.0
func (conn *IRODSConnection) SetReadTimeout(timeout time.Duration) error
SetReadTimeout sets read timeout
func (*IRODSConnection) SetTransactionDirty ¶ added in v0.12.6
func (conn *IRODSConnection) SetTransactionDirty(dirtyTransaction bool)
SetTransactionDirty sets if transaction is dirty
func (*IRODSConnection) SetWriteTimeout ¶ added in v0.18.0
func (conn *IRODSConnection) SetWriteTimeout(timeout time.Duration) error
SetWriteTimeout sets write timeout
func (*IRODSConnection) SupportParallelUpload ¶ added in v0.10.11
func (conn *IRODSConnection) SupportParallelUpload() bool
SupportParallelUpload checks if the server supports parallel upload available from 4.2.9
func (*IRODSConnection) Unlock ¶ added in v0.9.6
func (conn *IRODSConnection) Unlock()
Unlock unlocks connection
type IRODSConnectionConfig ¶ added in v0.18.0
type IRODSConnectionConfig struct {
ConnectTimeout time.Duration
OperationTimeout time.Duration
LongOperationTimeout time.Duration
ApplicationName string
TcpBufferSize int
Metrics *metrics.IRODSMetrics // can be null
}
func (*IRODSConnectionConfig) Validate ¶ added in v0.18.0
func (connConfig *IRODSConnectionConfig) Validate() error
type IRODSResourceServerConnection ¶ added in v0.14.0
type IRODSResourceServerConnection struct {
// contains filtered or unexported fields
}
IRODSResourceServerConnection connects to iRODS resource server
func NewIRODSResourceServerConnection ¶ added in v0.14.0
func NewIRODSResourceServerConnection(controlConnection *IRODSConnection, redirectionInfo *types.IRODSRedirectionInfo, config *IRODSResourceServerConnectionConfig) (*IRODSResourceServerConnection, error)
NewIRODSResourceServerConnection create a IRODSResourceServerConnection
func (*IRODSResourceServerConnection) Connect ¶ added in v0.14.0
func (conn *IRODSResourceServerConnection) Connect() error
Connect connects to iRODS
func (*IRODSResourceServerConnection) Decrypt ¶ added in v0.14.0
func (conn *IRODSResourceServerConnection) Decrypt(iv []byte, source []byte, dest []byte) (int, error)
Decrypt decrypts byte buf
func (*IRODSResourceServerConnection) Disconnect ¶ added in v0.14.0
func (conn *IRODSResourceServerConnection) Disconnect() error
Disconnect disconnects
func (*IRODSResourceServerConnection) Encrypt ¶ added in v0.14.0
func (conn *IRODSResourceServerConnection) Encrypt(iv []byte, source []byte, dest []byte) (int, error)
Decrypt decrypts byte buf
func (*IRODSResourceServerConnection) GetCreationTime ¶ added in v0.14.0
func (conn *IRODSResourceServerConnection) GetCreationTime() time.Time
GetCreationTime returns creation time
func (*IRODSResourceServerConnection) GetLastSuccessfulAccess ¶ added in v0.14.0
func (conn *IRODSResourceServerConnection) GetLastSuccessfulAccess() time.Time
GetLastSuccessfulAccess returns last successful access time
func (*IRODSResourceServerConnection) GetMetrics ¶ added in v0.14.0
func (conn *IRODSResourceServerConnection) GetMetrics() *metrics.IRODSMetrics
GetMetrics returns metrics
func (*IRODSResourceServerConnection) GetServerInfo ¶ added in v0.14.0
func (conn *IRODSResourceServerConnection) GetServerInfo() *types.IRODSRedirectionInfo
GetAccount returns iRODSAccount
func (*IRODSResourceServerConnection) IsConnected ¶ added in v0.14.0
func (conn *IRODSResourceServerConnection) IsConnected() bool
IsConnected returns if the connection is live
func (*IRODSResourceServerConnection) Lock ¶ added in v0.14.0
func (conn *IRODSResourceServerConnection) Lock()
Lock locks connection
func (*IRODSResourceServerConnection) Recv ¶ added in v0.14.0
func (conn *IRODSResourceServerConnection) Recv(buffer []byte, size int, timeout *time.Duration) (int, error)
Recv receives a message
func (*IRODSResourceServerConnection) RecvToWriter ¶ added in v0.14.0
func (conn *IRODSResourceServerConnection) RecvToWriter(writer io.Writer, size int64, timeout *time.Duration) (int64, error)
RecvToWriter receives a message to Writer
func (*IRODSResourceServerConnection) RecvWithTrackerCallBack ¶ added in v0.14.0
func (conn *IRODSResourceServerConnection) RecvWithTrackerCallBack(buffer []byte, size int, timeout *time.Duration, callback common.TransferTrackerCallback) (int, error)
RecvWithTrackerCallBack receives a message
func (*IRODSResourceServerConnection) Send ¶ added in v0.14.0
func (conn *IRODSResourceServerConnection) Send(buffer []byte, size int, timeout *time.Duration) error
Send sends data
func (*IRODSResourceServerConnection) SendFromReader ¶ added in v0.14.0
func (conn *IRODSResourceServerConnection) SendFromReader(src io.Reader, size int64, timeout *time.Duration) (int64, error)
SendFromReader sends data from Reader
func (*IRODSResourceServerConnection) SendWithTrackerCallBack ¶ added in v0.14.0
func (conn *IRODSResourceServerConnection) SendWithTrackerCallBack(buffer []byte, size int, timeout *time.Duration, callback common.TransferTrackerCallback) error
SendWithTrackerCallBack sends data
func (*IRODSResourceServerConnection) SetReadTimeout ¶ added in v0.18.0
func (conn *IRODSResourceServerConnection) SetReadTimeout(timeout time.Duration) error
SetReadTimeout sets read timeout
func (*IRODSResourceServerConnection) SetWriteTimeout ¶ added in v0.18.0
func (conn *IRODSResourceServerConnection) SetWriteTimeout(timeout time.Duration) error
SetWriteTimeout sets write timeout
func (*IRODSResourceServerConnection) Unlock ¶ added in v0.14.0
func (conn *IRODSResourceServerConnection) Unlock()
Unlock unlocks connection
type IRODSResourceServerConnectionConfig ¶ added in v0.18.0
type IRODSResourceServerConnectionConfig struct {
ConnectTimeout time.Duration
TcpBufferSize int
Metrics *metrics.IRODSMetrics // can be null
}
func (*IRODSResourceServerConnectionConfig) Validate ¶ added in v0.18.0
func (connConfig *IRODSResourceServerConnectionConfig) Validate() error
type NativeAuthPlugin ¶ added in v0.19.0
type NativeAuthPlugin struct {
BaseIRODSAuthPlugin
}
func NewNativeAuthPlugin ¶ added in v0.19.0
func NewNativeAuthPlugin() *NativeAuthPlugin
func (*NativeAuthPlugin) AuthClientStart ¶ added in v0.19.0
func (plugin *NativeAuthPlugin) AuthClientStart(conn *IRODSConnection, requestContext *IRODSAuthContext) (*IRODSAuthContext, error)
func (*NativeAuthPlugin) GetName ¶ added in v0.19.0
func (plugin *NativeAuthPlugin) GetName() string
type PAMInteractiveAuthPlugin ¶ added in v0.19.0
type PAMInteractiveAuthPlugin struct {
BaseIRODSAuthPlugin
// contains filtered or unexported fields
}
func NewPAMInteractiveAuthPlugin ¶ added in v0.19.0
func NewPAMInteractiveAuthPlugin(requireSecureConnection bool) *PAMInteractiveAuthPlugin
func NewPAMInteractiveAuthPluginWithHandlers ¶ added in v0.19.0
func NewPAMInteractiveAuthPluginWithHandlers(requireSecureConnection bool, getInputHandler PAMInteractiveInputHandler, getSensitiveInputHandler PAMInteractiveInputHandler) *PAMInteractiveAuthPlugin
func (*PAMInteractiveAuthPlugin) AuthClientStart ¶ added in v0.19.0
func (plugin *PAMInteractiveAuthPlugin) AuthClientStart(conn *IRODSConnection, requestContext *IRODSAuthContext) (*IRODSAuthContext, error)
func (*PAMInteractiveAuthPlugin) GetName ¶ added in v0.19.0
func (plugin *PAMInteractiveAuthPlugin) GetName() string
type PAMInteractiveInputHandler ¶ added in v0.19.0
type PAMPasswordAuthPlugin ¶ added in v0.19.0
type PAMPasswordAuthPlugin struct {
BaseIRODSAuthPlugin
// contains filtered or unexported fields
}
func NewPAMPasswordAuthPlugin ¶ added in v0.19.0
func NewPAMPasswordAuthPlugin(requireSecureConnection bool) *PAMPasswordAuthPlugin
func (*PAMPasswordAuthPlugin) AuthClientStart ¶ added in v0.19.0
func (plugin *PAMPasswordAuthPlugin) AuthClientStart(conn *IRODSConnection, requestContext *IRODSAuthContext) (*IRODSAuthContext, error)
func (*PAMPasswordAuthPlugin) GetName ¶ added in v0.19.0
func (plugin *PAMPasswordAuthPlugin) GetName() string
type Request ¶ added in v0.4.4
type Request interface {
GetMessage() (*message.IRODSMessage, error)
GetXMLCorrector() message.XMLCorrector
}
Request is an interface for calling iRODS RPC.
type RequestResponsePair ¶ added in v0.11.4
type RequestResponsePair struct {
Request Request
Response Response
BsBuffer []byte // can be null
Timeout *RequestResponseTimeout
RequestCallback common.TransferTrackerCallback // can be null
ResponseCallback common.TransferTrackerCallback // can be null
Error error
}
RequestResponsePair is a structure that wraps Request, Response, and other parameters for making iRODS RPC call.
type RequestResponseTimeout ¶ added in v0.18.0
RequestResponseTimeout is a structure that contains timeout values for iRODS RPC calls.
type Response ¶ added in v0.4.4
type Response interface {
FromMessage(message *message.IRODSMessage) error
GetXMLCorrector() message.XMLCorrector
}
Response is an interface for response of iRODS RPC Call.