Documentation ¶
Overview ¶
Package gocbcore implements methods for low-level communication with a Couchbase Server cluster.
Index ¶
- Constants
- Variables
- func AcquireTimer(d time.Duration) *time.Timer
- func DecodeCommonFlags(flags uint32) (DataType, CompressionType)
- func EncodeCommonFlags(valueType DataType, compression CompressionType) uint32
- func ErrorCause(err error) error
- func IsErrorStatus(err error, code StatusCode) bool
- func ReleaseTimer(t *time.Timer, wasRead bool)
- func SaslAuthBest(username, password string, client AuthClient, deadline time.Time) error
- func SaslAuthPlain(username, password string, client AuthClient, deadline time.Time) error
- func SaslAuthScramSha1(username, password string, client AuthClient, deadline time.Time) error
- func SaslAuthScramSha256(username, password string, client AuthClient, deadline time.Time) error
- func SaslAuthScramSha512(username, password string, client AuthClient, deadline time.Time) error
- func SetLogger(logger Logger)
- type Agent
- func (agent *Agent) Add(key, value []byte, flags uint32, expiry uint32, cb StoreCallback) (PendingOp, error)
- func (agent *Agent) AddIn(key []byte, path string, value []byte, flags SubdocFlag, cas Cas, ...) (PendingOp, error)
- func (agent *Agent) AddUniqueIn(key []byte, path string, value []byte, flags SubdocFlag, cas Cas, ...) (PendingOp, error)
- func (agent *Agent) Append(key, value []byte, cb StoreCallback) (PendingOp, error)
- func (agent *Agent) ArrayInsertIn(key []byte, path string, value []byte, cas Cas, expiry uint32, ...) (PendingOp, error)
- func (agent *Agent) BucketUUID() string
- func (agent *Agent) CapiEps() []string
- func (agent *Agent) Close() error
- func (agent *Agent) CloseStream(vbId uint16, cb CloseStreamCallback) (PendingOp, error)
- func (agent *Agent) CounterIn(key []byte, path string, value []byte, cas Cas, expiry uint32, ...) (PendingOp, error)
- func (agent *Agent) Decrement(key []byte, delta, initial uint64, expiry uint32, cb CounterCallback) (PendingOp, error)
- func (agent *Agent) DeleteMeta(key, value, extra []byte, datatype uint8, options, flags, expiry uint32, ...) (PendingOp, error)
- func (agent *Agent) ExistsIn(key []byte, path string, flags SubdocFlag, cb ExistsInCallback) (PendingOp, error)
- func (agent *Agent) FtsEps() []string
- func (agent *Agent) Get(key []byte, cb GetCallback) (PendingOp, error)
- func (agent *Agent) GetAndLock(key []byte, lockTime uint32, cb GetCallback) (PendingOp, error)
- func (agent *Agent) GetAndTouch(key []byte, expiry uint32, cb GetCallback) (PendingOp, error)
- func (agent *Agent) GetFailoverLog(vbId uint16, cb GetFailoverLogCallback) (PendingOp, error)
- func (agent *Agent) GetIn(key []byte, path string, flags SubdocFlag, cb GetInCallback) (PendingOp, error)
- func (agent *Agent) GetRandom(cb GetRandomCallback) (PendingOp, error)
- func (agent *Agent) GetReplica(key []byte, replicaIdx int, cb GetCallback) (PendingOp, error)
- func (agent *Agent) GetVbucketSeqnos(serverIdx int, state VbucketState, cb GetVBucketSeqnosCallback) (PendingOp, error)
- func (agent *Agent) HttpClient() *http.Client
- func (agent *Agent) Increment(key []byte, delta, initial uint64, expiry uint32, cb CounterCallback) (PendingOp, error)
- func (agent *Agent) IsSecure() bool
- func (agent *Agent) KeyToServer(key []byte, replicaIdx uint32) int
- func (agent *Agent) KeyToVbucket(key []byte) uint16
- func (agent *Agent) MgmtEps() []string
- func (agent *Agent) N1qlEps() []string
- func (agent *Agent) NumReplicas() int
- func (agent *Agent) NumServers() int
- func (agent *Agent) NumVbuckets() int
- func (agent *Agent) Observe(key []byte, replicaIdx int, cb ObserveCallback) (PendingOp, error)
- func (agent *Agent) ObserveSeqNo(key []byte, vbUuid VbUuid, replicaIdx int, cb ObserveSeqNoCallback) (PendingOp, error)
- func (agent *Agent) ObserveSeqNoEx(vbId uint16, vbUuid VbUuid, replicaIdx int, cb ObserveSeqNoExCallback) (PendingOp, error)
- func (agent *Agent) OpenStream(vbId uint16, vbUuid VbUuid, ...) (PendingOp, error)
- func (agent *Agent) Prepend(key, value []byte, cb StoreCallback) (PendingOp, error)
- func (agent *Agent) PushBackIn(key []byte, path string, value []byte, flags SubdocFlag, cas Cas, ...) (PendingOp, error)
- func (agent *Agent) PushFrontIn(key []byte, path string, value []byte, flags SubdocFlag, cas Cas, ...) (PendingOp, error)
- func (agent *Agent) Remove(key []byte, cas Cas, cb RemoveCallback) (PendingOp, error)
- func (agent *Agent) RemoveIn(key []byte, path string, cas Cas, expiry uint32, flags SubdocFlag, ...) (PendingOp, error)
- func (agent *Agent) Replace(key, value []byte, flags uint32, cas Cas, expiry uint32, cb StoreCallback) (PendingOp, error)
- func (agent *Agent) ReplaceIn(key []byte, path string, value []byte, cas Cas, expiry uint32, ...) (PendingOp, error)
- func (agent *Agent) ServerConnectTimeout() time.Duration
- func (agent *Agent) Set(key, value []byte, flags uint32, expiry uint32, cb StoreCallback) (PendingOp, error)
- func (agent *Agent) SetIn(key []byte, path string, value []byte, flags SubdocFlag, cas Cas, ...) (PendingOp, error)
- func (agent *Agent) SetMeta(key, value, extra []byte, datatype uint8, options, flags, expiry uint32, ...) (PendingOp, error)
- func (agent *Agent) SetServerConnectTimeout(timeout time.Duration)
- func (agent *Agent) Stats(key string, callback ServerStatsCallback) (PendingOp, error)
- func (agent *Agent) SubDocLookup(key []byte, ops []SubDocOp, flags SubdocDocFlag, cb LookupInCallback) (PendingOp, error)
- func (agent *Agent) SubDocMutate(key []byte, ops []SubDocOp, flags SubdocDocFlag, cas Cas, expiry uint32, ...) (PendingOp, error)
- func (agent *Agent) Touch(key []byte, cas Cas, expiry uint32, cb TouchCallback) (PendingOp, error)
- func (agent *Agent) Unlock(key []byte, cas Cas, cb UnlockCallback) (PendingOp, error)
- func (agent *Agent) VbucketToServer(vbID uint16, replicaIdx uint32) int
- func (agent *Agent) VbucketsOnServer(index int) []uint16
- type AgentConfig
- type AuthClient
- type AuthFunc
- type Cas
- type CloseStreamCallback
- type CompressionType
- type CounterCallback
- type CounterInCallback
- type DataType
- type DatatypeFlag
- type DcpOpenFlag
- type ExistsInCallback
- type FailoverEntry
- type GetCallback
- type GetFailoverLogCallback
- type GetInCallback
- type GetRandomCallback
- type GetVBucketSeqnosCallback
- type KeyState
- type KvError
- func (e KvError) AccessError() booldeprecated
- func (e KvError) AuthContinue() booldeprecated
- func (e KvError) AuthError() booldeprecated
- func (e KvError) AuthStale() booldeprecated
- func (e KvError) BadDelta() booldeprecated
- func (e KvError) BusyError() booldeprecated
- func (e KvError) Error() string
- func (e KvError) InternalError() booldeprecated
- func (e KvError) KeyExists() booldeprecated
- func (e KvError) KeyNotFound() booldeprecated
- func (e KvError) NoBucket() booldeprecated
- func (e KvError) NotIntializedError() booldeprecated
- func (e KvError) NotMyVBucket() booldeprecated
- func (e KvError) NotStored() booldeprecated
- func (e KvError) NotSupportedError() booldeprecated
- func (e KvError) RangeError() booldeprecated
- func (e KvError) Rollback() booldeprecated
- func (e KvError) Success() booldeprecated
- func (e KvError) Temporary() bool
- func (e KvError) UnknownCommandError() booldeprecated
- func (e KvError) ValueTooBig() booldeprecated
- type LogLevel
- type Logger
- type LookupInCallback
- type MultiError
- type MutateInCallback
- type MutationToken
- type ObserveCallback
- type ObserveSeqNoCallback
- type ObserveSeqNoExCallback
- type ObserveSeqNoStats
- type OpenStreamCallback
- type PendingOp
- type RemoveCallback
- type RemoveInCallback
- type SeqNo
- type ServerStatsCallback
- type SetMetaOption
- type SingleServerStats
- type SnapshotState
- type StatusCode
- type StoreCallback
- type StoreInCallback
- type StreamObserver
- type SubDocMutateError
- type SubDocOp
- type SubDocOpType
- type SubDocResult
- type SubdocDocFlag
- type SubdocFlag
- type TouchCallback
- type UnlockCallback
- type VbSeqNoEntry
- type VbUuid
- type VbucketState
Constants ¶
const ( // UnknownType indicates the values type is unknown. UnknownType = DataType(0) // JsonType indicates the value is JSON data. JsonType = DataType(1) // BinaryType indicates the value is binary data. BinaryType = DataType(2) // StringType indicates the value is string data. StringType = DataType(3) )
const ( // UnknownCompression indicates that the compression type is unknown. UnknownCompression = CompressionType(0) // NoCompression indicates that no compression is being used. NoCompression = CompressionType(1) )
const ( // StatusSuccess indicates the operation completed successfully. StatusSuccess = StatusCode(0x00) // StatusKeyNotFound occurs when an operation is performed on a key that does not exist. StatusKeyNotFound = StatusCode(0x01) // StatusKeyExists occurs when an operation is performed on a key that could not be found. StatusKeyExists = StatusCode(0x02) // StatusTooBig occurs when an operation attempts to store more data in a single document // than the server is capable of storing (by default, this is a 20MB limit). StatusTooBig = StatusCode(0x03) // StatusInvalidArgs occurs when the server receives invalid arguments for an operation. StatusInvalidArgs = StatusCode(0x04) // StatusNotStored occurs when the server fails to store a key. StatusNotStored = StatusCode(0x05) // StatusBadDelta occurs when an invalid delta value is specified to a counter operation. StatusBadDelta = StatusCode(0x06) // StatusNotMyVBucket occurs when an operation is dispatched to a server which is // non-authoritative for a specific vbucket. StatusNotMyVBucket = StatusCode(0x07) // StatusNoBucket occurs when no bucket was selected on a connection. StatusNoBucket = StatusCode(0x08) // StatusLocked occurs when an operation fails due to the document being locked. StatusLocked = StatusCode(0x09) // StatusAuthStale occurs when authentication credentials have become invalidated. StatusAuthStale = StatusCode(0x1f) // StatusAuthError occurs when the authentication information provided was not valid. StatusAuthError = StatusCode(0x20) // StatusAuthContinue occurs in multi-step authentication when more authentication // work needs to be performed in order to complete the authentication process. StatusAuthContinue = StatusCode(0x21) // StatusRangeError occurs when the range specified to the server is not valid. StatusRangeError = StatusCode(0x22) // StatusRollback occurs when a DCP stream fails to open due to a rollback having // previously occurred since the last time the stream was opened. StatusRollback = StatusCode(0x23) // StatusAccessError occurs when an access error occurs. StatusAccessError = StatusCode(0x24) // StatusNotInitialized is sent by servers which are still initializing, and are not // yet ready to accept operations on behalf of a particular bucket. StatusNotInitialized = StatusCode(0x25) // StatusUnknownCommand occurs when an unknown operation is sent to a server. StatusUnknownCommand = StatusCode(0x81) // StatusOutOfMemory occurs when the server cannot service a request due to memory // limitations. StatusOutOfMemory = StatusCode(0x82) // StatusNotSupported occurs when an operation is understood by the server, but that // operation is not supported on this server (occurs for a variety of reasons). StatusNotSupported = StatusCode(0x83) // StatusInternalError occurs when internal errors prevent the server from processing // your request. StatusInternalError = StatusCode(0x84) // StatusBusy occurs when the server is too busy to process your request right away. // Attempting the operation at a later time will likely succeed. StatusBusy = StatusCode(0x85) // StatusTmpFail occurs when a temporary failure is preventing the server from // processing your request. StatusTmpFail = StatusCode(0x86) // StatusSubDocPathNotFound occurs when a sub-document operation targets a path // which does not exist in the specifie document. StatusSubDocPathNotFound = StatusCode(0xc0) // StatusSubDocPathMismatch occurs when a sub-document operation specifies a path // which does not match the document structure (field access on an array). StatusSubDocPathMismatch = StatusCode(0xc1) // StatusSubDocPathInvalid occurs when a sub-document path could not be parsed. StatusSubDocPathInvalid = StatusCode(0xc2) // StatusSubDocPathTooBig occurs when a sub-document path is too big. StatusSubDocPathTooBig = StatusCode(0xc3) // StatusSubDocDocTooDeep occurs when an operation would cause a document to be // nested beyond the depth limits allowed by the sub-document specification. StatusSubDocDocTooDeep = StatusCode(0xc4) // StatusSubDocCantInsert occurs when a sub-document operation could not insert. StatusSubDocCantInsert = StatusCode(0xc5) // StatusSubDocNotJson occurs when a sub-document operation is performed on a // document which is not JSON. StatusSubDocNotJson = StatusCode(0xc6) // StatusSubDocBadRange occurs when a sub-document operation is performed with // a bad range. StatusSubDocBadRange = StatusCode(0xc7) // StatusSubDocBadDelta occurs when a sub-document counter operation is performed // and the specified delta is not valid. StatusSubDocBadDelta = StatusCode(0xc8) // StatusSubDocPathExists occurs when a sub-document operation expects a path not // to exists, but the path was found in the document. StatusSubDocPathExists = StatusCode(0xc9) // StatusSubDocValueTooDeep occurs when a sub-document operation specifies a value // which is deeper than the depth limits of the sub-document specification. StatusSubDocValueTooDeep = StatusCode(0xca) // StatusSubDocBadCombo occurs when a multi-operation sub-document operation is // performed and operations within the package of ops conflict with each other. StatusSubDocBadCombo = StatusCode(0xcb) // StatusSubDocBadMulti occurs when a multi-operation sub-document operation is // performed and operations within the package of ops conflict with each other. StatusSubDocBadMulti = StatusCode(0xcc) // StatusSubDocSuccessDeleted occurs when a multi-operation sub-document operation // is performed on a soft-deleted document. StatusSubDocSuccessDeleted = StatusCode(0xcd) // StatusSubDocXattrInvalidFlagCombo occurs when an invalid set of // extended-attribute flags is passed to a sub-document operation. StatusSubDocXattrInvalidFlagCombo = StatusCode(0xce) // StatusSubDocXattrInvalidKeyCombo occurs when an invalid set of key operations // are specified for a extended-attribute sub-document operation. StatusSubDocXattrInvalidKeyCombo = StatusCode(0xcf) // StatusSubDocXattrUnknownMacro occurs when an invalid macro value is specified. StatusSubDocXattrUnknownMacro = StatusCode(0xd0) // StatusSubDocXattrUnknownVAttr occurs when an invalid virtual attribute is specified. StatusSubDocXattrUnknownVAttr = StatusCode(0xd1) // StatusSubDocXattrCannotModifyVAttr occurs when a mutation is attempted upon // a virtual attribute (which are immutable by definition). StatusSubDocXattrCannotModifyVAttr = StatusCode(0xd2) // StatusSubDocMultiPathFailureDeleted occurs when a Multi Path Failure occurs on // a soft-deleted document. StatusSubDocMultiPathFailureDeleted = StatusCode(0xd3) )
const ( // VbucketStateActive indicates the vbucket is active on this server VbucketStateActive = VbucketState(0x01) // VbucketStateReplica indicates the vbucket is a replica on this server VbucketStateReplica = VbucketState(0x02) // VbucketStatePending indicates the vbucket is preparing to become active on this server. VbucketStatePending = VbucketState(0x03) // VbucketStateDead indicates the vbucket is no longer valid on this server. VbucketStateDead = VbucketState(0x04) )
const ( // ForceMetaOp disables conflict resolution for the document and allows the // operation to be applied to an active, pending, or replica vbucket. ForceMetaOp = SetMetaOption(0x01) // UseLwwConflictResolution switches to Last-Write-Wins conflict resolution // for the document. UseLwwConflictResolution = SetMetaOption(0x02) // RegenerateCas causes the server to invalidate the current CAS value for // a document, and to generate a new one. RegenerateCas = SetMetaOption(0x04) // SkipConflictResolution disables conflict resolution for the document. SkipConflictResolution = SetMetaOption(0x08) )
const ( // KeyStateNotPersisted indicates the key is in memory, but not yet written to disk. KeyStateNotPersisted = KeyState(0x00) // KeyStatePersisted indicates that the key has been written to disk. KeyStatePersisted = KeyState(0x01) // KeyStateNotFound indicates that the key is not found in memory or on disk. KeyStateNotFound = KeyState(0x80) // KeyStateDeleted indicates that the key has been written to disk as deleted. KeyStateDeleted = KeyState(0x81) )
const ( // SubDocOpGet indicates the operation is a sub-document `Get` operation. SubDocOpGet = SubDocOpType(cmdSubDocGet) // SubDocOpExists indicates the operation is a sub-document `Exists` operation. SubDocOpExists = SubDocOpType(cmdSubDocExists) // SubDocOpGetCount indicates the operation is a sub-document `GetCount` operation. SubDocOpGetCount = SubDocOpType(cmdSubDocGetCount) // SubDocOpDictAdd indicates the operation is a sub-document `Add` operation. SubDocOpDictAdd = SubDocOpType(cmdSubDocDictAdd) // SubDocOpDictSet indicates the operation is a sub-document `Set` operation. SubDocOpDictSet = SubDocOpType(cmdSubDocDictSet) // SubDocOpDelete indicates the operation is a sub-document `Remove` operation. SubDocOpDelete = SubDocOpType(cmdSubDocDelete) // SubDocOpReplace indicates the operation is a sub-document `Replace` operation. SubDocOpReplace = SubDocOpType(cmdSubDocReplace) // SubDocOpArrayPushLast indicates the operation is a sub-document `ArrayPushLast` operation. SubDocOpArrayPushLast = SubDocOpType(cmdSubDocArrayPushLast) // SubDocOpArrayPushFirst indicates the operation is a sub-document `ArrayPushFirst` operation. SubDocOpArrayPushFirst = SubDocOpType(cmdSubDocArrayPushFirst) // SubDocOpArrayInsert indicates the operation is a sub-document `ArrayInsert` operation. SubDocOpArrayInsert = SubDocOpType(cmdSubDocArrayInsert) // SubDocOpArrayAddUnique indicates the operation is a sub-document `ArrayAddUnique` operation. SubDocOpArrayAddUnique = SubDocOpType(cmdSubDocArrayAddUnique) // SubDocOpCounter indicates the operation is a sub-document `Counter` operation. SubDocOpCounter = SubDocOpType(cmdSubDocCounter) // SubDocOpGetDoc represents a full document retrieval, for use with extended attribute ops. SubDocOpGetDoc = SubDocOpType(cmdGet) // SubDocOpSetDoc represents a full document set, for use with extended attribute ops. SubDocOpSetDoc = SubDocOpType(cmdSet) // SubDocOpAddDoc represents a full document add, for use with extended attribute ops. SubDocOpAddDoc = SubDocOpType(cmdAdd) // SubDocOpDeleteDoc represents a full document delete, for use with extended attribute ops. SubDocOpDeleteDoc = SubDocOpType(cmdDelete) )
const ( // DcpOpenFlagProducer indicates this stream wants the other end to be a producer. DcpOpenFlagProducer = DcpOpenFlag(0x01) // DcpOpenFlagNotifier indicates this stream wants the other end to be a notifier. DcpOpenFlagNotifier = DcpOpenFlag(0x02) // DcpOpenFlagIncludeXattrs indicates the client wishes to receive extended attributes. DcpOpenFlagIncludeXattrs = DcpOpenFlag(0x04) // DcpOpenFlagNoValue indicates the client does not wish to receive mutation values. DcpOpenFlagNoValue = DcpOpenFlag(0x08) )
const ( // DatatypeFlagJson indicates the server believes the value payload to be JSON. DatatypeFlagJson = DatatypeFlag(0x01) // DatatypeFlagCompressed indicates the value payload is compressed. DatatypeFlagCompressed = DatatypeFlag(0x02) // DatatypeFlagXattrs indicates the inclusion of xattr data in the value payload. DatatypeFlagXattrs = DatatypeFlag(0x04) )
const ( // SubdocFlagNone indicates no special treatment for this operation. SubdocFlagNone = SubdocFlag(0x00) // SubdocFlagMkDirP indicates that the path should be created if it does not already exist. SubdocFlagMkDirP = SubdocFlag(0x01) // SubdocFlagXattrPath indicates that the path refers to an Xattr rather than the document body. SubdocFlagXattrPath = SubdocFlag(0x04) // SubdocFlagExpandMacros indicates that the value portion of any sub-document mutations // should be expanded if they contain macros such as ${Mutation.CAS}. SubdocFlagExpandMacros = SubdocFlag(0x10) )
const ( // SubdocDocFlagNone indicates no special treatment for this operation. SubdocDocFlagNone = SubdocDocFlag(0x00) // SubdocDocFlagMkDoc indicates that the document should be created if it does not already exist. SubdocDocFlagMkDoc = SubdocDocFlag(0x01) // SubdocDocFlagReplaceDoc indices that this operation should be a replace rather than upsert. SubdocDocFlagReplaceDoc = SubdocDocFlag(0x02) // SubdocDocFlagAccessDeleted indicates that you wish to receive soft-deleted documents. // Internal: This should never be used and is not supported. SubdocDocFlagAccessDeleted = SubdocDocFlag(0x04) )
Variables ¶
var ( // ErrNoAuthMethod occurs when the server does not support any of the // authentication methods that the client finds suitable. ErrNoAuthMethod = errors.New("no supported auth") // ErrDispatchFail occurs when the request router fails to dispatch an operation ErrDispatchFail = errors.New("failed to dispatch operation") // ErrBadHosts occurs when the list of hosts specified cannot be contacted. ErrBadHosts = errors.New("failed to connect to any of the specified hosts") // ErrProtocol occurs when the server responds with unexpected or unparseable data. ErrProtocol = errors.New("failed to parse server response") // ErrNoReplicas occurs when no replicas respond in time ErrNoReplicas = errors.New("no replicas responded in time") // ErrNoServer occurs when no server is available to service a keys vbucket. ErrNoServer = errors.New("no server available for this vbucket") // ErrInvalidServer occurs when an explicit, but invalid server index is specified. ErrInvalidServer = errors.New("specific server index is invalid") // ErrInvalidVBucket occurs when an explicit, but invalid vbucket index is specified. ErrInvalidVBucket = errors.New("specific vbucket index is invalid") // ErrInvalidReplica occurs when an explicit, but invalid replica index is specified. ErrInvalidReplica = errors.New("specific server index is invalid") // ErrInvalidCert occurs when a certificate that is not useable is passed to an Agent. ErrInvalidCert = errors.New("certificate is invalid") // ErrCliInternalError indicates an internal error occurred within the client. ErrCliInternalError = errors.New("client internal error") // ErrShutdown occurs when operations are performed on a previously closed Agent. ErrShutdown = &shutdownError{} // ErrOverload occurs when too many operations are dispatched and all queues are full. ErrOverload = &overloadError{} // ErrNetwork occurs when network failures prevent an operation from succeeding. ErrNetwork = &networkError{} // ErrTimeout occurs when an operation does not receive a response in a timely manner. ErrTimeout = &timeoutError{} // ErrStreamClosed occurs when a DCP stream is closed gracefully. ErrStreamClosed = &streamEndError{streamEndClosed} // ErrStreamStateChanged occurs when a DCP stream is interrupted by failover. ErrStreamStateChanged = &streamEndError{streamEndStateChanged} // ErrStreamDisconnected occurs when a DCP stream is disconnected. ErrStreamDisconnected = &streamEndError{streamEndDisconnected} // ErrStreamTooSlow occurs when a DCP stream is cancelled due to the application // not keeping up with the rate of flow of DCP events sent by the server. ErrStreamTooSlow = &streamEndError{streamEndTooSlow} // ErrKeyNotFound occurs when an operation is performed on a key that does not exist. ErrKeyNotFound = newSimpleError(StatusKeyNotFound) // ErrKeyExists occurs when an operation is performed on a key that could not be found. ErrKeyExists = newSimpleError(StatusKeyExists) // ErrTooBig occurs when an operation attempts to store more data in a single document // than the server is capable of storing (by default, this is a 20MB limit). ErrTooBig = newSimpleError(StatusTooBig) // ErrInvalidArgs occurs when the server receives invalid arguments for an operation. ErrInvalidArgs = newSimpleError(StatusInvalidArgs) // ErrNotStored occurs when the server fails to store a key. ErrNotStored = newSimpleError(StatusNotStored) // ErrBadDelta occurs when an invalid delta value is specified to a counter operation. ErrBadDelta = newSimpleError(StatusBadDelta) // ErrNotMyVBucket occurs when an operation is dispatched to a server which is // non-authoritative for a specific vbucket. ErrNotMyVBucket = newSimpleError(StatusNotMyVBucket) // ErrNoBucket occurs when no bucket was selected on a connection. ErrNoBucket = newSimpleError(StatusNoBucket) // ErrAuthStale occurs when authentication credentials have become invalidated. ErrAuthStale = newSimpleError(StatusAuthStale) // ErrAuthError occurs when the authentication information provided was not valid. ErrAuthError = newSimpleError(StatusAuthError) // ErrAuthContinue occurs in multi-step authentication when more authentication // work needs to be performed in order to complete the authentication process. ErrAuthContinue = newSimpleError(StatusAuthContinue) // ErrRangeError occurs when the range specified to the server is not valid. ErrRangeError = newSimpleError(StatusRangeError) // ErrRollback occurs when a DCP stream fails to open due to a rollback having // previously occurred since the last time the stream was opened. ErrRollback = newSimpleError(StatusRollback) // ErrAccessError occurs when an access error occurs. ErrAccessError = newSimpleError(StatusAccessError) // ErrNotInitialized is sent by servers which are still initializing, and are not // yet ready to accept operations on behalf of a particular bucket. ErrNotInitialized = newSimpleError(StatusNotInitialized) // ErrUnknownCommand occurs when an unknown operation is sent to a server. ErrUnknownCommand = newSimpleError(StatusUnknownCommand) // ErrOutOfMemory occurs when the server cannot service a request due to memory // limitations. ErrOutOfMemory = newSimpleError(StatusOutOfMemory) // ErrNotSupported occurs when an operation is understood by the server, but that // operation is not supported on this server (occurs for a variety of reasons). ErrNotSupported = newSimpleError(StatusNotSupported) // ErrInternalError occurs when internal errors prevent the server from processing // your request. ErrInternalError = newSimpleError(StatusInternalError) // ErrBusy occurs when the server is too busy to process your request right away. // Attempting the operation at a later time will likely succeed. ErrBusy = newSimpleError(StatusBusy) // ErrTmpFail occurs when a temporary failure is preventing the server from // processing your request. ErrTmpFail = newSimpleError(StatusTmpFail) // ErrSubDocPathNotFound occurs when a sub-document operation targets a path // which does not exist in the specifie document. ErrSubDocPathNotFound = newSimpleError(StatusSubDocPathNotFound) // ErrSubDocPathMismatch occurs when a sub-document operation specifies a path // which does not match the document structure (field access on an array). ErrSubDocPathMismatch = newSimpleError(StatusSubDocPathMismatch) // ErrSubDocPathInvalid occurs when a sub-document path could not be parsed. ErrSubDocPathInvalid = newSimpleError(StatusSubDocPathInvalid) // ErrSubDocPathTooBig occurs when a sub-document path is too big. ErrSubDocPathTooBig = newSimpleError(StatusSubDocPathTooBig) // ErrSubDocDocTooDeep occurs when an operation would cause a document to be // nested beyond the depth limits allowed by the sub-document specification. ErrSubDocDocTooDeep = newSimpleError(StatusSubDocDocTooDeep) // ErrSubDocCantInsert occurs when a sub-document operation could not insert. ErrSubDocCantInsert = newSimpleError(StatusSubDocCantInsert) // ErrSubDocNotJson occurs when a sub-document operation is performed on a // document which is not JSON. ErrSubDocNotJson = newSimpleError(StatusSubDocNotJson) // ErrSubDocBadRange occurs when a sub-document operation is performed with // a bad range. ErrSubDocBadRange = newSimpleError(StatusSubDocBadRange) // ErrSubDocBadDelta occurs when a sub-document counter operation is performed // and the specified delta is not valid. ErrSubDocBadDelta = newSimpleError(StatusSubDocBadDelta) // ErrSubDocPathExists occurs when a sub-document operation expects a path not // to exists, but the path was found in the document. ErrSubDocPathExists = newSimpleError(StatusSubDocPathExists) // ErrSubDocValueTooDeep occurs when a sub-document operation specifies a value // which is deeper than the depth limits of the sub-document specification. ErrSubDocValueTooDeep = newSimpleError(StatusSubDocValueTooDeep) // ErrSubDocBadCombo occurs when a multi-operation sub-document operation is // performed and operations within the package of ops conflict with each other. ErrSubDocBadCombo = newSimpleError(StatusSubDocBadCombo) // ErrSubDocBadMulti occurs when a multi-operation sub-document operation is // performed and operations within the package of ops conflict with each other. ErrSubDocBadMulti = newSimpleError(StatusSubDocBadMulti) // ErrSubDocSuccessDeleted occurs when a multi-operation sub-document operation // is performed on a soft-deleted document. ErrSubDocSuccessDeleted = newSimpleError(StatusSubDocSuccessDeleted) // ErrSubDocXattrInvalidFlagCombo occurs when an invalid set of // extended-attribute flags is passed to a sub-document operation. ErrSubDocXattrInvalidFlagCombo = newSimpleError(StatusSubDocXattrInvalidFlagCombo) // ErrSubDocXattrInvalidKeyCombo occurs when an invalid set of key operations // are specified for a extended-attribute sub-document operation. ErrSubDocXattrInvalidKeyCombo = newSimpleError(StatusSubDocXattrInvalidKeyCombo) // ErrSubDocXattrUnknownMacro occurs when an invalid macro value is specified. ErrSubDocXattrUnknownMacro = newSimpleError(StatusSubDocXattrUnknownMacro) // ErrSubDocXattrUnknownVAttr occurs when an invalid virtual attribute is specified. ErrSubDocXattrUnknownVAttr = newSimpleError(StatusSubDocXattrUnknownVAttr) // ErrSubDocXattrCannotModifyVAttr occurs when a mutation is attempted upon // a virtual attribute (which are immutable by definition). ErrSubDocXattrCannotModifyVAttr = newSimpleError(StatusSubDocXattrCannotModifyVAttr) // ErrSubDocMultiPathFailureDeleted occurs when a Multi Path Failure occurs on // a soft-deleted document. ErrSubDocMultiPathFailureDeleted = newSimpleError(StatusSubDocMultiPathFailureDeleted) )
Functions ¶
func AcquireTimer ¶
AcquireTimer acquires a time from a global pool of timers maintained by the library.
func DecodeCommonFlags ¶
func DecodeCommonFlags(flags uint32) (DataType, CompressionType)
DecodeCommonFlags decodes a flags value into a data type and compression type using the common flags specification.
func EncodeCommonFlags ¶
func EncodeCommonFlags(valueType DataType, compression CompressionType) uint32
EncodeCommonFlags encodes a data type and compression type into a flags value using the common flags specification.
func ErrorCause ¶
ErrorCause returns an error object representing the underlying cause for an error (without detailed information).
func IsErrorStatus ¶
func IsErrorStatus(err error, code StatusCode) bool
IsErrorStatus is a helper function which allows you to quickly check if a particular error object corresponds with a specific memcached status code in a single operation.
func ReleaseTimer ¶
ReleaseTimer returns a timer to the global pool of timers maintained by the library.
func SaslAuthBest ¶
func SaslAuthBest(username, password string, client AuthClient, deadline time.Time) error
SaslAuthBest performs SASL authentication against an AuthClient using the best supported authentication algorithm available on both client and server.
func SaslAuthPlain ¶
func SaslAuthPlain(username, password string, client AuthClient, deadline time.Time) error
SaslAuthPlain performs PLAIN SASL authentication against an AuthClient.
func SaslAuthScramSha1 ¶
func SaslAuthScramSha1(username, password string, client AuthClient, deadline time.Time) error
SaslAuthScramSha1 performs SCRAM-SHA1 SASL authentication against an AuthClient.
func SaslAuthScramSha256 ¶
func SaslAuthScramSha256(username, password string, client AuthClient, deadline time.Time) error
SaslAuthScramSha256 performs SCRAM-SHA256 SASL authentication against an AuthClient.
func SaslAuthScramSha512 ¶
func SaslAuthScramSha512(username, password string, client AuthClient, deadline time.Time) error
SaslAuthScramSha512 performs SCRAM-SHA512 SASL authentication against an AuthClient.
Types ¶
type Agent ¶
type Agent struct {
// contains filtered or unexported fields
}
Agent represents the base client handling connections to a Couchbase Server. This is used internally by the higher level classes for communicating with the cluster, it can also be used to perform more advanced operations with a cluster.
func CreateAgent ¶
func CreateAgent(config *AgentConfig) (*Agent, error)
CreateAgent creates an agent for performing normal operations.
func CreateDcpAgent ¶
func CreateDcpAgent(config *AgentConfig, dcpStreamName string, openFlags DcpOpenFlag) (*Agent, error)
CreateDcpAgent creates an agent for performing DCP operations.
func (*Agent) Add ¶
func (agent *Agent) Add(key, value []byte, flags uint32, expiry uint32, cb StoreCallback) (PendingOp, error)
Add stores a document as long as it does not already exist.
func (*Agent) AddIn ¶
func (agent *Agent) AddIn(key []byte, path string, value []byte, flags SubdocFlag, cas Cas, expiry uint32, cb StoreInCallback) (PendingOp, error)
AddIn adds a value at the path within a document. This method works like SetIn, but only only succeeds if the path does not currently exist.
func (*Agent) AddUniqueIn ¶
func (agent *Agent) AddUniqueIn(key []byte, path string, value []byte, flags SubdocFlag, cas Cas, expiry uint32, cb StoreInCallback) (PendingOp, error)
AddUniqueIn adds an entry to an array at a path but only if the value doesn't already exist in the array.
func (*Agent) Append ¶
func (agent *Agent) Append(key, value []byte, cb StoreCallback) (PendingOp, error)
Append appends some bytes to a document.
func (*Agent) ArrayInsertIn ¶
func (agent *Agent) ArrayInsertIn(key []byte, path string, value []byte, cas Cas, expiry uint32, flags SubdocFlag, cb StoreInCallback) (PendingOp, error)
ArrayInsertIn inserts an entry to an array at a path within the document.
func (*Agent) BucketUUID ¶
BucketUUID returns the UUID of the bucket we are connected to.
func (*Agent) CapiEps ¶
CapiEps returns all the available endpoints for performing map-reduce queries.
func (*Agent) Close ¶
Close shuts down the agent, disconnecting from all servers and failing any outstanding operations with ErrShutdown.
func (*Agent) CloseStream ¶
func (agent *Agent) CloseStream(vbId uint16, cb CloseStreamCallback) (PendingOp, error)
CloseStream shuts down an open stream for the specified VBucket.
func (*Agent) CounterIn ¶
func (agent *Agent) CounterIn(key []byte, path string, value []byte, cas Cas, expiry uint32, flags SubdocFlag, cb CounterInCallback) (PendingOp, error)
CounterIn performs an arithmetic add or subtract on a value at a path in the document.
func (*Agent) Decrement ¶
func (agent *Agent) Decrement(key []byte, delta, initial uint64, expiry uint32, cb CounterCallback) (PendingOp, error)
Decrement decrements the unsigned integer value in a document.
func (*Agent) DeleteMeta ¶
func (agent *Agent) DeleteMeta(key, value, extra []byte, datatype uint8, options, flags, expiry uint32, cas, revseqno uint64, cb RemoveCallback) (PendingOp, error)
DeleteMeta deletes a document along with setting some internal Couchbase meta-data.
func (*Agent) ExistsIn ¶
func (agent *Agent) ExistsIn(key []byte, path string, flags SubdocFlag, cb ExistsInCallback) (PendingOp, error)
ExistsIn returns whether a particular path exists within a document.
func (*Agent) Get ¶
func (agent *Agent) Get(key []byte, cb GetCallback) (PendingOp, error)
Get retrieves a document.
func (*Agent) GetAndLock ¶
GetAndLock retrieves a document and locks it.
func (*Agent) GetAndTouch ¶
GetAndTouch retrieves a document and updates its expiry.
func (*Agent) GetFailoverLog ¶
func (agent *Agent) GetFailoverLog(vbId uint16, cb GetFailoverLogCallback) (PendingOp, error)
GetFailoverLog retrieves the fail-over log for a particular VBucket. This is used to resume an interrupted stream after a node fail-over has occurred.
func (*Agent) GetIn ¶
func (agent *Agent) GetIn(key []byte, path string, flags SubdocFlag, cb GetInCallback) (PendingOp, error)
GetIn retrieves the value at a particular path within a JSON document.
func (*Agent) GetRandom ¶
func (agent *Agent) GetRandom(cb GetRandomCallback) (PendingOp, error)
GetRandom retrieves the key and value of a random document stored within Couchbase Server.
func (*Agent) GetReplica ¶
GetReplica retrieves a document from a replica server.
func (*Agent) GetVbucketSeqnos ¶
func (agent *Agent) GetVbucketSeqnos(serverIdx int, state VbucketState, cb GetVBucketSeqnosCallback) (PendingOp, error)
GetVbucketSeqnos returns the last checkpoint for a particular VBucket. This is useful for starting a DCP stream from wherever the server currently is.
func (*Agent) HttpClient ¶
HttpClient returns a pre-configured HTTP Client for communicating with Couchbase Server. You must still specify authentication information for any dispatched requests.
func (*Agent) Increment ¶
func (agent *Agent) Increment(key []byte, delta, initial uint64, expiry uint32, cb CounterCallback) (PendingOp, error)
Increment increments the unsigned integer value in a document.
func (*Agent) KeyToServer ¶
KeyToServer translates a particular key to its assigned server index.
func (*Agent) KeyToVbucket ¶
KeyToVbucket translates a particular key to its assigned vbucket.
func (*Agent) MgmtEps ¶
MgmtEps returns all the available endpoints for performing management queries.
func (*Agent) NumReplicas ¶
NumReplicas returns the number of replicas configured on the connected cluster.
func (*Agent) NumServers ¶
NumServers returns the number of servers accessible for K/V.
func (*Agent) NumVbuckets ¶
NumVbuckets returns the number of VBuckets configured on the connected cluster.
func (*Agent) ObserveSeqNo ¶
func (agent *Agent) ObserveSeqNo(key []byte, vbUuid VbUuid, replicaIdx int, cb ObserveSeqNoCallback) (PendingOp, error)
ObserveSeqNo retrieves the persistence state sequence numbers for a particular VBucket.
func (*Agent) ObserveSeqNoEx ¶
func (agent *Agent) ObserveSeqNoEx(vbId uint16, vbUuid VbUuid, replicaIdx int, cb ObserveSeqNoExCallback) (PendingOp, error)
ObserveSeqNoEx retrieves the persistence state sequence numbers for a particular VBucket and includes additional details not included by the basic version.
func (*Agent) OpenStream ¶
func (agent *Agent) OpenStream(vbId uint16, vbUuid VbUuid, startSeqNo, endSeqNo, snapStartSeqNo, snapEndSeqNo SeqNo, evtHandler StreamObserver, cb OpenStreamCallback) (PendingOp, error)
OpenStream opens a DCP stream for a particular VBucket.
func (*Agent) Prepend ¶
func (agent *Agent) Prepend(key, value []byte, cb StoreCallback) (PendingOp, error)
Prepend prepends some bytes to a document.
func (*Agent) PushBackIn ¶
func (agent *Agent) PushBackIn(key []byte, path string, value []byte, flags SubdocFlag, cas Cas, expiry uint32, cb StoreInCallback) (PendingOp, error)
PushBackIn pushes an entry to the back of an array at a path within a document.
func (*Agent) PushFrontIn ¶
func (agent *Agent) PushFrontIn(key []byte, path string, value []byte, flags SubdocFlag, cas Cas, expiry uint32, cb StoreInCallback) (PendingOp, error)
PushFrontIn pushes an entry to the front of an array at a path within a document.
func (*Agent) RemoveIn ¶
func (agent *Agent) RemoveIn(key []byte, path string, cas Cas, expiry uint32, flags SubdocFlag, cb RemoveInCallback) (PendingOp, error)
RemoveIn removes the value at a path within the document.
func (*Agent) Replace ¶
func (agent *Agent) Replace(key, value []byte, flags uint32, cas Cas, expiry uint32, cb StoreCallback) (PendingOp, error)
Replace replaces the value of a Couchbase document with another value.
func (*Agent) ReplaceIn ¶
func (agent *Agent) ReplaceIn(key []byte, path string, value []byte, cas Cas, expiry uint32, flags SubdocFlag, cb StoreInCallback) (PendingOp, error)
ReplaceIn replaces the value at the path within a document. This method works like SetIn, but only only succeeds if the path currently exists.
func (*Agent) ServerConnectTimeout ¶
ServerConnectTimeout gets the timeout for each server connection, including all authentication steps.
func (*Agent) Set ¶
func (agent *Agent) Set(key, value []byte, flags uint32, expiry uint32, cb StoreCallback) (PendingOp, error)
Set stores a document.
func (*Agent) SetIn ¶
func (agent *Agent) SetIn(key []byte, path string, value []byte, flags SubdocFlag, cas Cas, expiry uint32, cb StoreInCallback) (PendingOp, error)
SetIn sets the value at a path within a document.
func (*Agent) SetMeta ¶
func (agent *Agent) SetMeta(key, value, extra []byte, datatype uint8, options, flags, expiry uint32, cas, revseqno uint64, cb StoreCallback) (PendingOp, error)
SetMeta stores a document along with setting some internal Couchbase meta-data.
func (*Agent) SetServerConnectTimeout ¶
SetServerConnectTimeout sets the timeout for each server connection.
func (*Agent) Stats ¶
func (agent *Agent) Stats(key string, callback ServerStatsCallback) (PendingOp, error)
Stats retrieves statistics information from the server. Note that as this function is an aggregator across numerous servers, there are no guarantees about the consistency of the results. Occasionally, some nodes may not be represented in the results, or there may be conflicting information between multiple nodes (a vbucket active on two separate nodes at once).
func (*Agent) SubDocLookup ¶
func (agent *Agent) SubDocLookup(key []byte, ops []SubDocOp, flags SubdocDocFlag, cb LookupInCallback) (PendingOp, error)
SubDocLookup performs a multiple-lookup sub-document operation on a document.
func (*Agent) SubDocMutate ¶
func (agent *Agent) SubDocMutate(key []byte, ops []SubDocOp, flags SubdocDocFlag, cas Cas, expiry uint32, cb MutateInCallback) (PendingOp, error)
SubDocMutate performs a multiple-mutation sub-document operation on a document.
func (*Agent) VbucketToServer ¶
VbucketToServer returns the server index for a particular vbucket.
func (*Agent) VbucketsOnServer ¶
VbucketsOnServer returns the list of VBuckets for a server.
type AgentConfig ¶
type AgentConfig struct { MemdAddrs []string HttpAddrs []string TlsConfig *tls.Config BucketName string Username string Password string AuthHandler AuthFunc UseMutationTokens bool UseKvErrorMaps bool UseEnhancedErrors bool HttpRedialPeriod time.Duration HttpRetryDelay time.Duration CccpMaxWait time.Duration CccpPollPeriod time.Duration ConnectTimeout time.Duration ServerConnectTimeout time.Duration NmvRetryDelay time.Duration KvPoolSize int MaxQueueSize int }
AgentConfig specifies the configuration options for creation of an Agent.
func (*AgentConfig) FromConnStr ¶
func (config *AgentConfig) FromConnStr(connStr string) error
FromConnStr populates the AgentConfig with information from a Couchbase Connection String.
type AuthClient ¶
type AuthClient interface { Address() string ExecSaslListMechs(deadline time.Time) ([]string, error) ExecSaslAuth(k, v []byte, deadline time.Time) ([]byte, error) ExecSaslStep(k, v []byte, deadline time.Time) ([]byte, error) ExecSelectBucket(b []byte, deadline time.Time) error }
AuthClient exposes an interface for performing authentication on a connected Couchbase K/V client.
type AuthFunc ¶
type AuthFunc func(client AuthClient, deadline time.Time) error
AuthFunc is invoked by the agent to authenticate a client.
type Cas ¶
type Cas uint64
Cas represents a unique revision of a document. This can be used to perform optimistic locking.
type CloseStreamCallback ¶
type CloseStreamCallback func(error)
CloseStreamCallback is invoked with the results of `CloseStream` operations.
type CompressionType ¶
type CompressionType uint32
CompressionType indicates the type of compression for a value
type CounterCallback ¶
type CounterCallback func(uint64, Cas, MutationToken, error)
CounterCallback is invoked with the results of `Counter` operations.
type CounterInCallback ¶
type CounterInCallback func([]byte, Cas, MutationToken, error)
CounterInCallback is invoked with the results of `CounterIn` operations.
type DatatypeFlag ¶
type DatatypeFlag uint8
DatatypeFlag specifies data flags for the value of a document.
type DcpOpenFlag ¶
type DcpOpenFlag uint32
DcpOpenFlag specifies flags for DCP streams configured when the stream is opened.
type ExistsInCallback ¶
ExistsInCallback is invoked with the results of `ExistsIn` operations.
type FailoverEntry ¶
FailoverEntry represents a single entry in the server fail-over log.
type GetCallback ¶
GetCallback is invoked with the results of `Get` operations.
type GetFailoverLogCallback ¶
type GetFailoverLogCallback func([]FailoverEntry, error)
GetFailoverLogCallback is invoked with the results of `GetFailoverLog` operations.
type GetInCallback ¶
GetInCallback is invoked with the results of `GetIn` operations.
type GetRandomCallback ¶
GetRandomCallback is invoked with the results of `GetRandom` operations.
type GetVBucketSeqnosCallback ¶
type GetVBucketSeqnosCallback func([]VbSeqNoEntry, error)
GetVBucketSeqnosCallback is invoked with the results of `GetVBucketSeqnos` operations.
type KeyState ¶
type KeyState uint8
KeyState represents the various storage states of a key on the server.
type KvError ¶
type KvError struct { Code StatusCode Name string Description string Context string Ref string }
KvError wraps key-value errors that occur within the SDK.
func (KvError) AccessError
deprecated
func (KvError) AuthContinue
deprecated
func (KvError) InternalError
deprecated
func (KvError) KeyNotFound
deprecated
func (KvError) NotIntializedError
deprecated
func (KvError) NotMyVBucket
deprecated
func (KvError) NotSupportedError
deprecated
func (KvError) RangeError
deprecated
func (KvError) Temporary ¶
Temporary indicates whether this error is known to be temporary, and that attempting the operation again after a short delay should succeed.
func (KvError) UnknownCommandError
deprecated
func (KvError) ValueTooBig
deprecated
type Logger ¶
type Logger interface { // Outputs logging information: // level is the verbosity level // offset is the position within the calling stack from which the message // originated. This is useful for contextual loggers which retrieve file/line // information. Log(level LogLevel, offset int, format string, v ...interface{}) error }
Logger defines a logging interface. You can either use one of the default loggers (DefaultStdioLogger(), VerboseStdioLogger()) or implement your own.
func DefaultStdOutLogger
deprecated
func DefaultStdOutLogger() Logger
DefaultStdOutLogger gets the default logger. This actually logs to stderr rather than stdout. Use DefaultStdioLogger which has a correct name, since the "standard" logger logs to stderr, rather than stdout.
Deprecated: Use DefaultStdioLogger() instead.
func DefaultStdioLogger ¶
func DefaultStdioLogger() Logger
DefaultStdioLogger gets the default standard I/O logger.
gocbcore.SetLogger(gocbcore.DefaultStdioLogger())
func VerboseStdioLogger ¶
func VerboseStdioLogger() Logger
VerboseStdioLogger is a more verbose level of DefaultStdioLogger(). Messages pertaining to the scheduling of ordinary commands (and their responses) will also be emitted.
gocbcore.SetLogger(gocbcore.VerboseStdioLogger())
type LookupInCallback ¶
type LookupInCallback func([]SubDocResult, Cas, error)
LookupInCallback is invoked with the results of `LookupIn` operations.
type MultiError ¶
type MultiError struct {
Errors []error
}
MultiError encapsulates multiple errors that may be returned by one method.
func (*MultiError) Error ¶
func (e *MultiError) Error() string
type MutateInCallback ¶
type MutateInCallback func([]SubDocResult, Cas, MutationToken, error)
MutateInCallback is invoked with the results of `MutateIn` operations.
type MutationToken ¶
MutationToken represents a particular mutation within the cluster.
type ObserveCallback ¶
ObserveCallback is invoked with the results of `Observe` operations.
type ObserveSeqNoCallback ¶
ObserveSeqNoCallback is invoked with the results of `ObserveSeqNo` operations.
type ObserveSeqNoExCallback ¶
type ObserveSeqNoExCallback func(*ObserveSeqNoStats, error)
ObserveSeqNoExCallback is invoked with the results of `ObserveSeqNoEx` operations.
type ObserveSeqNoStats ¶
type ObserveSeqNoStats struct { DidFailover bool VbId uint16 VbUuid VbUuid PersistSeqNo SeqNo CurrentSeqNo SeqNo OldVbUuid VbUuid LastSeqNo SeqNo }
ObserveSeqNoStats represents the stats returned from an observe operation.
type OpenStreamCallback ¶
type OpenStreamCallback func([]FailoverEntry, error)
OpenStreamCallback is invoked with the results of `OpenStream` operations.
type PendingOp ¶
type PendingOp interface {
Cancel() bool
}
PendingOp represents an outstanding operation within the client. This can be used to cancel an operation before it completes.
type RemoveCallback ¶
type RemoveCallback func(Cas, MutationToken, error)
RemoveCallback is invoked with the results of `Remove` operations.
type RemoveInCallback ¶
type RemoveInCallback func(Cas, MutationToken, error)
RemoveInCallback is invoked with the results of `RemoveIn` operations.
type SeqNo ¶
type SeqNo uint64
SeqNo is a sequential mutation number indicating the order and precise position of a write that has occurred.
type ServerStatsCallback ¶
type ServerStatsCallback func(stats map[string]SingleServerStats)
ServerStatsCallback is invoked with the results of `Stats` operations.
type SetMetaOption ¶
type SetMetaOption uint32
SetMetaOption represents possible option values for a SetMeta operation.
type SingleServerStats ¶
SingleServerStats represents the stats returned from a single server.
type SnapshotState ¶
type SnapshotState uint32
SnapshotState represents the state of a particular cluster snapshot.
func (SnapshotState) HasInMemory ¶
func (s SnapshotState) HasInMemory() bool
HasInMemory returns whether this snapshot is available in memory.
func (SnapshotState) HasOnDisk ¶
func (s SnapshotState) HasOnDisk() bool
HasOnDisk returns whether this snapshot is available on disk.
type StoreCallback ¶
type StoreCallback func(Cas, MutationToken, error)
StoreCallback is invoked with the results of any basic storage operations.
type StoreInCallback ¶
type StoreInCallback func(Cas, MutationToken, error)
StoreInCallback is invoked with the results of any sub-document storage operations.
type StreamObserver ¶
type StreamObserver interface { SnapshotMarker(startSeqNo, endSeqNo uint64, vbId uint16, snapshotType SnapshotState) Mutation(seqNo, revNo uint64, flags, expiry, lockTime uint32, cas uint64, datatype uint8, vbId uint16, key, value []byte) Deletion(seqNo, revNo, cas uint64, datatype uint8, vbId uint16, key, value []byte) Expiration(seqNo, revNo, cas uint64, vbId uint16, key []byte) End(vbId uint16, err error) }
StreamObserver provides an interface to receive events from a running DCP stream.
type SubDocMutateError ¶
SubDocMutateError encapsulates errors that occur during sub-document mutations.
func (SubDocMutateError) Error ¶
func (e SubDocMutateError) Error() string
type SubDocOp ¶
type SubDocOp struct { Op SubDocOpType Flags SubdocFlag Path string Value []byte }
SubDocOp defines a per-operation structure to be passed to MutateIn or LookupIn for performing many sub-document operations.
type SubDocOpType ¶
type SubDocOpType uint8
SubDocOpType specifies the type of a sub-document operation.
type SubDocResult ¶
SubDocResult encapsulates the results from a single subdocument operation.
type SubdocDocFlag ¶
type SubdocDocFlag uint8
SubdocDocFlag specifies document-level flags for a sub-document operation.
type TouchCallback ¶
type TouchCallback func(Cas, MutationToken, error)
TouchCallback is invoked with the results of `Touch` operations.
type UnlockCallback ¶
type UnlockCallback func(Cas, MutationToken, error)
UnlockCallback is invoked with the results of `Unlock` operations.
type VbSeqNoEntry ¶
VbSeqNoEntry represents a single GetVbucketSeqnos sequence number entry.
type VbUuid ¶
type VbUuid uint64
VbUuid represents a unique identifier for a particular vbucket history.
type VbucketState ¶
type VbucketState uint32
VbucketState represents the state of a particular vbucket on a particular server.
Source Files ¶
- agent.go
- agenthttpcfg.go
- agentops.go
- agentops_crud.go
- agentops_dcp.go
- agentops_dura.go
- agentops_internal.go
- agentops_subdoc.go
- agentrouting.go
- authclient.go
- cbcrc.go
- commonflags.go
- config.go
- constants.go
- errmap.go
- errmapptr.go
- error.go
- ketama.go
- logging.go
- memdclient.go
- memdclientmux.go
- memdconn.go
- memdopmap.go
- memdopqueue.go
- memdpipeline.go
- memdqpackets.go
- routeconfig.go
- routedata.go
- scramclient.go
- syncclient.go
- timerpool.go
- vbucketmap.go