Documentation
¶
Index ¶
- Constants
- Variables
- func NewFileTooBigError(err error, rpcName, path string) error
- func NewInvalidArgument(err error, rpcName, path string) error
- func NewNotFoundError(rpcName, path string) error
- func NewProtocolError(err error, message, rpcName, path string) error
- func NewRPCError(err error, rpcName, path string) error
- func NewUnexpectedTreeEntryTypeError(rpcName, path string) error
- type AccumulatingFileVisitor
- type ChunkingFetchVisitor
- type ClientPool
- type DupBehavior
- type DuplicatePathDetectingVisitor
- type DuplicatePathFoundError
- type EntryCountLimitingFetchVisitor
- type Error
- type ErrorCode
- type FetchVisitor
- type FileVisitor
- type FindCommitResponseForPolling
- func (*FindCommitResponseForPolling) Descriptor() ([]byte, []int)deprecated
- func (x *FindCommitResponseForPolling) GetCommit() *GitCommitForPolling
- func (*FindCommitResponseForPolling) ProtoMessage()
- func (x *FindCommitResponseForPolling) ProtoReflect() protoreflect.Message
- func (x *FindCommitResponseForPolling) Reset()
- func (x *FindCommitResponseForPolling) String() string
- type GitCommitForPolling
- func (*GitCommitForPolling) Descriptor() ([]byte, []int)deprecated
- func (x *GitCommitForPolling) GetId() string
- func (*GitCommitForPolling) ProtoMessage()
- func (x *GitCommitForPolling) ProtoReflect() protoreflect.Message
- func (x *GitCommitForPolling) Reset()
- func (x *GitCommitForPolling) String() string
- type GlobFilteringFetchVisitor
- type GlobMatchFailedError
- type HiddenDirFilteringFetchVisitor
- type MaxNumberOfFilesError
- type PathEntryVisitor
- type PathFetcher
- func (f *PathFetcher) FetchFile(ctx context.Context, repo *gitalypb.Repository, revision, repoPath []byte, ...) ([]byte, error)
- func (f *PathFetcher) StreamFile(ctx context.Context, repo *gitalypb.Repository, revision, repoPath []byte, ...) error
- func (f *PathFetcher) Visit(ctx context.Context, repo *gitalypb.Repository, revision, repoPath []byte, ...) error
- func (f *PathFetcher) VisitSingleFile(ctx context.Context, repo *gitalypb.Repository, revision, repoPath []byte, ...) error
- type PathFetcherInterface
- type PathVisitor
- type PollInfo
- type Poller
- type PollerInterface
- type Pool
- type PoolInterface
- type TotalSizeLimitingFetchVisitor
Constants ¶
const (
DefaultBranch = "HEAD"
)
Variables ¶
var File_internal_gitaly_gitaly_proto protoreflect.FileDescriptor
Functions ¶
func NewFileTooBigError ¶
func NewInvalidArgument ¶ added in v16.3.0
func NewNotFoundError ¶
func NewProtocolError ¶
func NewRPCError ¶ added in v16.9.0
Types ¶
type AccumulatingFileVisitor ¶
type AccumulatingFileVisitor struct {
Data []byte
}
type ChunkingFetchVisitor ¶
type ChunkingFetchVisitor struct {
FetchVisitor
// contains filtered or unexported fields
}
func NewChunkingFetchVisitor ¶
func NewChunkingFetchVisitor(delegate FetchVisitor, maxChunkSize int) *ChunkingFetchVisitor
func (ChunkingFetchVisitor) StreamChunk ¶
func (v ChunkingFetchVisitor) StreamChunk(path []byte, data []byte) (bool, error)
type ClientPool ¶
type ClientPool interface {
Dial(ctx context.Context, address, token string) (*grpc.ClientConn, error)
}
ClientPool abstracts gitlab.com/gitlab-org/gitaly/client.Pool.
type DupBehavior ¶
type DupBehavior byte
const ( // DupError means "return error on duplicate file". DupError DupBehavior = 1 // DupSkip means "skip duplicate files". DupSkip DupBehavior = 2 )
type DuplicatePathDetectingVisitor ¶
type DuplicatePathDetectingVisitor struct {
FetchVisitor
DupBehavior DupBehavior
// contains filtered or unexported fields
}
func NewDuplicateFileDetectingVisitor ¶
func NewDuplicateFileDetectingVisitor(delegate FetchVisitor, dupBehavior DupBehavior) DuplicatePathDetectingVisitor
type DuplicatePathFoundError ¶
type DuplicatePathFoundError struct {
Path string
}
func (*DuplicatePathFoundError) Error ¶
func (e *DuplicatePathFoundError) Error() string
type EntryCountLimitingFetchVisitor ¶
type EntryCountLimitingFetchVisitor struct {
FetchVisitor
FilesVisited uint32
FilesSent uint32
// contains filtered or unexported fields
}
func NewEntryCountLimitingFetchVisitor ¶
func NewEntryCountLimitingFetchVisitor(delegate FetchVisitor, maxNumberOfFiles uint32) *EntryCountLimitingFetchVisitor
type Error ¶
type ErrorCode ¶
type ErrorCode int
const ( // UnknownError - what happened is unknown UnknownError ErrorCode = iota // NotFound - file/directory/ref was not found NotFound // FileTooBig - file is too big FileTooBig // RPCError - gRPC returned an error RPCError // ProtocolError - protocol violation, an unexpected situation occurred. ProtocolError // UnexpectedTreeEntryType - returned when TreeEntryResponse has an unexpected type. UnexpectedTreeEntryType // InvalidArgument - returned when Gitaly responds with InvalidArgument status code. InvalidArgument )
func ErrorCodeFromError ¶
type FetchVisitor ¶
type FetchVisitor interface {
Entry(*gitalypb.TreeEntry) (bool, int64, error)
StreamChunk(path []byte, data []byte) (bool, error)
// EntryDone is called after the entry has been fully streamed.
// It's not called for entries that are not streamed i.e. skipped.
EntryDone(*gitalypb.TreeEntry, error)
}
FetchVisitor is the visitor callback, invoked for each chunk of each path entry.
type FileVisitor ¶
FileVisitor is the visitor callback, invoked for each chunk of a file.
type FindCommitResponseForPolling ¶ added in v16.7.0
type FindCommitResponseForPolling struct {
Commit *GitCommitForPolling `protobuf:"bytes,1,opt,name=commit,proto3" json:"commit,omitempty"`
// contains filtered or unexported fields
}
func (*FindCommitResponseForPolling) Descriptor
deprecated
added in
v16.7.0
func (*FindCommitResponseForPolling) Descriptor() ([]byte, []int)
Deprecated: Use FindCommitResponseForPolling.ProtoReflect.Descriptor instead.
func (*FindCommitResponseForPolling) GetCommit ¶ added in v16.7.0
func (x *FindCommitResponseForPolling) GetCommit() *GitCommitForPolling
func (*FindCommitResponseForPolling) ProtoMessage ¶ added in v16.7.0
func (*FindCommitResponseForPolling) ProtoMessage()
func (*FindCommitResponseForPolling) ProtoReflect ¶ added in v16.7.0
func (x *FindCommitResponseForPolling) ProtoReflect() protoreflect.Message
func (*FindCommitResponseForPolling) Reset ¶ added in v16.7.0
func (x *FindCommitResponseForPolling) Reset()
func (*FindCommitResponseForPolling) String ¶ added in v16.7.0
func (x *FindCommitResponseForPolling) String() string
type GitCommitForPolling ¶ added in v16.7.0
type GitCommitForPolling struct {
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
// contains filtered or unexported fields
}
func (*GitCommitForPolling) Descriptor
deprecated
added in
v16.7.0
func (*GitCommitForPolling) Descriptor() ([]byte, []int)
Deprecated: Use GitCommitForPolling.ProtoReflect.Descriptor instead.
func (*GitCommitForPolling) GetId ¶ added in v16.7.0
func (x *GitCommitForPolling) GetId() string
func (*GitCommitForPolling) ProtoMessage ¶ added in v16.7.0
func (*GitCommitForPolling) ProtoMessage()
func (*GitCommitForPolling) ProtoReflect ¶ added in v16.7.0
func (x *GitCommitForPolling) ProtoReflect() protoreflect.Message
func (*GitCommitForPolling) Reset ¶ added in v16.7.0
func (x *GitCommitForPolling) Reset()
func (*GitCommitForPolling) String ¶ added in v16.7.0
func (x *GitCommitForPolling) String() string
type GlobFilteringFetchVisitor ¶
type GlobFilteringFetchVisitor struct {
FetchVisitor
Glob string
}
func NewGlobFilteringFetchVisitor ¶
func NewGlobFilteringFetchVisitor(delegate FetchVisitor, glob string) *GlobFilteringFetchVisitor
type GlobMatchFailedError ¶
func (*GlobMatchFailedError) Error ¶
func (e *GlobMatchFailedError) Error() string
func (*GlobMatchFailedError) Unwrap ¶
func (e *GlobMatchFailedError) Unwrap() error
type HiddenDirFilteringFetchVisitor ¶
type HiddenDirFilteringFetchVisitor struct {
FetchVisitor
}
func NewHiddenDirFilteringFetchVisitor ¶
func NewHiddenDirFilteringFetchVisitor(delegate FetchVisitor) *HiddenDirFilteringFetchVisitor
type MaxNumberOfFilesError ¶
type MaxNumberOfFilesError struct {
MaxNumberOfFiles uint32
}
func (*MaxNumberOfFilesError) Error ¶
func (e *MaxNumberOfFilesError) Error() string
type PathEntryVisitor ¶
type PathFetcher ¶
type PathFetcher struct {
Client gitalypb.CommitServiceClient
Features map[string]string
}
func (*PathFetcher) FetchFile ¶
func (f *PathFetcher) FetchFile(ctx context.Context, repo *gitalypb.Repository, revision, repoPath []byte, sizeLimit int64) ([]byte, error)
func (*PathFetcher) StreamFile ¶
func (f *PathFetcher) StreamFile(ctx context.Context, repo *gitalypb.Repository, revision, repoPath []byte, sizeLimit int64, v FileVisitor) error
func (*PathFetcher) Visit ¶
func (f *PathFetcher) Visit(ctx context.Context, repo *gitalypb.Repository, revision, repoPath []byte, recursive bool, visitor FetchVisitor) error
func (*PathFetcher) VisitSingleFile ¶
func (f *PathFetcher) VisitSingleFile(ctx context.Context, repo *gitalypb.Repository, revision, repoPath []byte, visitor FetchVisitor) error
type PathFetcherInterface ¶
type PathFetcherInterface interface {
// Visit returns a wrapped context.Canceled, context.DeadlineExceeded or gRPC error if ctx signals done and interrupts a running gRPC call.
// Visit returns *Error when an error occurs.
Visit(ctx context.Context, repo *gitalypb.Repository, revision, repoPath []byte, recursive bool, visitor FetchVisitor) error
// VisitSingleFile returns a wrapped context.Canceled, context.DeadlineExceeded or gRPC error if ctx signals done and interrupts a running gRPC call.
// VisitSingleFile returns *Error when an error occurs.
VisitSingleFile(ctx context.Context, repo *gitalypb.Repository, revision, repoPath []byte, visitor FetchVisitor) error
// StreamFile streams the specified revision of the file.
// The passed visitor is never called if file was not found.
// StreamFile returns a wrapped context.Canceled, context.DeadlineExceeded or gRPC error if ctx signals done and interrupts a running gRPC call.
// StreamFile returns *Error when an error occurs.
StreamFile(ctx context.Context, repo *gitalypb.Repository, revision, repoPath []byte, sizeLimit int64, v FileVisitor) error
// FetchFile fetches the specified revision of a file.
// FetchFile returns a wrapped context.Canceled, context.DeadlineExceeded or gRPC error if ctx signals done and interrupts a running gRPC call.
// FetchFile returns *Error when an error occurs.
FetchFile(ctx context.Context, repo *gitalypb.Repository, revision, repoPath []byte, sizeLimit int64) ([]byte, error)
}
type PathVisitor ¶
type PathVisitor struct {
Client gitalypb.CommitServiceClient
Features map[string]string
}
func (*PathVisitor) Visit ¶
func (v *PathVisitor) Visit(ctx context.Context, repo *gitalypb.Repository, revision, repoPath []byte, recursive bool, visitor PathEntryVisitor) error
type Poller ¶
type Poller struct {
Client gitalypb.CommitServiceClient
Features map[string]string
}
func (*Poller) Poll ¶
func (p *Poller) Poll(ctx context.Context, repo *gitalypb.Repository, lastProcessedCommitID, fullRefName string) (*PollInfo, error)
Poll searched the given repository for the given fullRefName and returns a PollInfo containing a resolved Commit Object ID. Valid fullRefNames are: * `refs/heads/*` => for branches * `refs/tags/*` => for tags * `HEAD` => for the repository's default branch
type PollerInterface ¶
type PollerInterface interface {
// Poll performs a poll on the repository.
// revision can be a branch name or a tag.
// Poll returns a wrapped context.Canceled, context.DeadlineExceeded or gRPC error if ctx signals done and interrupts a running gRPC call.
// Poll returns *Error when an error occurs.
Poll(ctx context.Context, repo *gitalypb.Repository, lastProcessedCommitID, refName string) (*PollInfo, error)
}
PollerInterface does the following: - polls ref advertisement for updates to the repository - detects which is the main branch, if branch or tag name is not specified - compares the commit id the branch or tag is referring to with the last processed one - returns the information about the change
type Pool ¶
type Pool struct {
ClientPool ClientPool
}
func (*Pool) PathFetcher ¶
func (p *Pool) PathFetcher(ctx context.Context, info *entity.GitalyInfo) (PathFetcherInterface, error)
func (*Pool) Poller ¶
func (p *Pool) Poller(ctx context.Context, info *entity.GitalyInfo) (PollerInterface, error)
type PoolInterface ¶
type PoolInterface interface {
Poller(context.Context, *entity.GitalyInfo) (PollerInterface, error)
PathFetcher(context.Context, *entity.GitalyInfo) (PathFetcherInterface, error)
}
type TotalSizeLimitingFetchVisitor ¶
type TotalSizeLimitingFetchVisitor struct {
FetchVisitor
RemainingTotalFileSize int64
}
func NewTotalSizeLimitingFetchVisitor ¶
func NewTotalSizeLimitingFetchVisitor(delegate FetchVisitor, maxTotalFileSize int64) *TotalSizeLimitingFetchVisitor
func (*TotalSizeLimitingFetchVisitor) StreamChunk ¶
func (v *TotalSizeLimitingFetchVisitor) StreamChunk(path []byte, data []byte) (bool, error)
Source Files
¶
Directories
¶
| Path | Synopsis |
|---|---|
|
vendored
|
|
|
backoff
Package backoff implements exponential backoff mechanism based on gRPC's backoff algorithm https://github.com/grpc/grpc/blob/master/doc/connection-backoff.md
|
Package backoff implements exponential backoff mechanism based on gRPC's backoff algorithm https://github.com/grpc/grpc/blob/master/doc/connection-backoff.md |