本文整理汇总了Golang中github.com/pachyderm/pachyderm/src/pfs.NewInternalAPIClient函数的典型用法代码示例。如果您正苦于以下问题:Golang NewInternalAPIClient函数的具体用法?Golang NewInternalAPIClient怎么用?Golang NewInternalAPIClient使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了NewInternalAPIClient函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: commitToReplicas
func (a *internalAPIServer) commitToReplicas(ctx context.Context, commit *pfs.Commit) error {
version, err := a.getVersion(ctx)
if err != nil {
return err
}
shards, err := a.router.GetMasterShards(version)
if err != nil {
return err
}
for shard := range shards {
clientConns, err := a.router.GetReplicaClientConns(shard, version)
if err != nil {
return err
}
var diff bytes.Buffer
if err = a.driver.PullDiff(commit, shard, &diff); err != nil {
return err
}
for _, clientConn := range clientConns {
if _, err = pfs.NewInternalAPIClient(clientConn).PushDiff(
ctx,
&pfs.PushDiffRequest{
Commit: commit,
Shard: shard,
Value: diff.Bytes(),
},
); err != nil {
return err
}
}
}
return nil
}
开发者ID:mehulsbhatt,项目名称:pachyderm,代码行数:33,代码来源:internal_api_server.go
示例2: StartCommit
func (a *apiServer) StartCommit(ctx context.Context, request *pfs.StartCommitRequest) (response *pfs.Commit, retErr error) {
defer func(start time.Time) { a.Log(request, response, retErr, time.Since(start)) }(time.Now())
a.versionLock.RLock()
defer a.versionLock.RUnlock()
ctx = versionToContext(a.version, ctx)
clientConns, err := a.router.GetAllClientConns(a.version)
if err != nil {
return nil, err
}
if request.Commit == nil {
if request.Parent == nil {
return nil, fmt.Errorf("one of Parent or Commit must be non nil")
}
request.Commit = &pfs.Commit{
Repo: request.Parent.Repo,
Id: uuid.NewWithoutDashes(),
}
}
for _, clientConn := range clientConns {
if _, err := pfs.NewInternalAPIClient(clientConn).StartCommit(ctx, request); err != nil {
return nil, err
}
}
return request.Commit, nil
}
开发者ID:klucar,项目名称:pachyderm,代码行数:25,代码来源:api_server.go
示例3: ListCommit
func (a *apiServer) ListCommit(ctx context.Context, request *pfs.ListCommitRequest) (response *pfs.CommitInfos, retErr error) {
defer func(start time.Time) { a.Log(request, response, retErr, time.Since(start)) }(time.Now())
a.versionLock.RLock()
defer a.versionLock.RUnlock()
ctx = versionToContext(a.version, ctx)
clientConns, err := a.router.GetAllClientConns(a.version)
if err != nil {
return nil, err
}
var wg sync.WaitGroup
var lock sync.Mutex
var commitInfos []*pfs.CommitInfo
var loopErr error
for _, clientConn := range clientConns {
wg.Add(1)
go func(clientConn *grpc.ClientConn) {
defer wg.Done()
subCommitInfos, err := pfs.NewInternalAPIClient(clientConn).ListCommit(ctx, request)
if err != nil {
if loopErr == nil {
loopErr = err
}
return
}
lock.Lock()
defer lock.Unlock()
commitInfos = append(commitInfos, subCommitInfos.CommitInfo...)
}(clientConn)
}
wg.Wait()
if loopErr != nil {
return nil, loopErr
}
return &pfs.CommitInfos{CommitInfo: pfs.ReduceCommitInfos(commitInfos)}, nil
}
开发者ID:fausto-svds,项目名称:pachyderm,代码行数:35,代码来源:api_server.go
示例4: CreateRepo
func (a *apiServer) CreateRepo(ctx context.Context, request *pfs.CreateRepoRequest) (*google_protobuf.Empty, error) {
a.versionLock.RLock()
defer a.versionLock.RUnlock()
ctx = versionToContext(a.version, ctx)
clientConns, err := a.router.GetAllClientConns(a.version)
if err != nil {
return nil, err
}
for _, clientConn := range clientConns {
if _, err := pfs.NewInternalAPIClient(clientConn).CreateRepo(ctx, request); err != nil {
return nil, err
}
}
// Create the initial commit
if _, err = a.StartCommit(ctx, &pfs.StartCommitRequest{
Parent: nil,
Commit: &pfs.Commit{
Repo: request.Repo,
Id: pfs.InitialCommitID,
},
}); err != nil {
return nil, err
}
if _, err = a.FinishCommit(ctx, &pfs.FinishCommitRequest{
Commit: &pfs.Commit{
Repo: request.Repo,
Id: pfs.InitialCommitID,
},
}); err != nil {
return nil, err
}
return google_protobuf.EmptyInstance, nil
}
开发者ID:mehulsbhatt,项目名称:pachyderm,代码行数:33,代码来源:api_server.go
示例5: AddShard
func (a *internalAPIServer) AddShard(_shard uint64, version int64) error {
if version == shard.InvalidVersion {
return nil
}
ctx := versionToContext(version, context.Background())
clientConn, err := a.router.GetMasterOrReplicaClientConn(_shard, version)
if err != nil {
return err
}
repoInfos, err := pfs.NewInternalAPIClient(clientConn).ListRepo(ctx, &pfs.ListRepoRequest{})
if err != nil {
return err
}
for _, repoInfo := range repoInfos.RepoInfo {
if err := a.driver.CreateRepo(repoInfo.Repo); err != nil {
return err
}
commitInfos, err := pfs.NewInternalAPIClient(clientConn).ListCommit(ctx, &pfs.ListCommitRequest{Repo: repoInfo.Repo})
if err != nil {
return err
}
for i := range commitInfos.CommitInfo {
commit := commitInfos.CommitInfo[len(commitInfos.CommitInfo)-(i+1)].Commit
commitInfo, err := a.driver.InspectCommit(commit, map[uint64]bool{_shard: true})
if err != nil {
return err
}
if commitInfo != nil {
// we already have the commit so nothing to do
continue
}
pullDiffRequest := &pfs.PullDiffRequest{
Commit: commit,
Shard: _shard,
}
pullDiffClient, err := pfs.NewReplicaAPIClient(clientConn).PullDiff(ctx, pullDiffRequest)
if err != nil {
return err
}
diffReader := protostream.NewStreamingBytesReader(pullDiffClient)
if err := a.driver.PushDiff(commit, _shard, diffReader); err != nil {
return err
}
}
}
return nil
}
开发者ID:klucar,项目名称:pachyderm,代码行数:47,代码来源:internal_api_server.go
示例6: ListRepo
func (a *apiServer) ListRepo(ctx context.Context, request *pfs.ListRepoRequest) (*pfs.RepoInfos, error) {
a.versionLock.RLock()
defer a.versionLock.RUnlock()
ctx = versionToContext(a.version, ctx)
clientConn, err := a.getClientConn(a.version)
if err != nil {
return nil, err
}
return pfs.NewInternalAPIClient(clientConn).ListRepo(ctx, request)
}
开发者ID:mehulsbhatt,项目名称:pachyderm,代码行数:10,代码来源:api_server.go
示例7: DeleteFile
func (a *apiServer) DeleteFile(ctx context.Context, request *pfs.DeleteFileRequest) (*google_protobuf.Empty, error) {
a.versionLock.RLock()
defer a.versionLock.RUnlock()
ctx = versionToContext(a.version, ctx)
clientConn, err := a.getClientConnForFile(request.File, a.version)
if err != nil {
return nil, err
}
return pfs.NewInternalAPIClient(clientConn).DeleteFile(ctx, request)
}
开发者ID:mehulsbhatt,项目名称:pachyderm,代码行数:10,代码来源:api_server.go
示例8: InspectFile
func (a *apiServer) InspectFile(ctx context.Context, request *pfs.InspectFileRequest) (*pfs.FileInfo, error) {
a.versionLock.RLock()
defer a.versionLock.RUnlock()
ctx = versionToContext(a.version, ctx)
clientConn, err := a.getClientConnForFile(request.File, a.version)
if err != nil {
return nil, err
}
return pfs.NewInternalAPIClient(clientConn).InspectFile(ctx, request)
}
开发者ID:mehulsbhatt,项目名称:pachyderm,代码行数:10,代码来源:api_server.go
示例9: DeleteFile
func (a *apiServer) DeleteFile(ctx context.Context, request *pfs.DeleteFileRequest) (response *google_protobuf.Empty, retErr error) {
defer func(start time.Time) { a.Log(request, response, retErr, time.Since(start)) }(time.Now())
a.versionLock.RLock()
defer a.versionLock.RUnlock()
ctx = versionToContext(a.version, ctx)
clientConn, err := a.getClientConnForFile(request.File, a.version)
if err != nil {
return nil, err
}
return pfs.NewInternalAPIClient(clientConn).DeleteFile(ctx, request)
}
开发者ID:klucar,项目名称:pachyderm,代码行数:11,代码来源:api_server.go
示例10: ListRepo
func (a *apiServer) ListRepo(ctx context.Context, request *pfs.ListRepoRequest) (response *pfs.RepoInfos, retErr error) {
defer func(start time.Time) { a.Log(request, response, retErr, time.Since(start)) }(time.Now())
a.versionLock.RLock()
defer a.versionLock.RUnlock()
ctx = versionToContext(a.version, ctx)
clientConn, err := a.getClientConn(a.version)
if err != nil {
return nil, err
}
return pfs.NewInternalAPIClient(clientConn).ListRepo(ctx, request)
}
开发者ID:klucar,项目名称:pachyderm,代码行数:11,代码来源:api_server.go
示例11: GetFile
func (a *apiServer) GetFile(request *pfs.GetFileRequest, apiGetFileServer pfs.API_GetFileServer) error {
ctx := versionToContext(a.version, apiGetFileServer.Context())
clientConn, err := a.getClientConnForFile(request.File, a.version)
if err != nil {
return err
}
fileGetClient, err := pfs.NewInternalAPIClient(clientConn).GetFile(ctx, request)
if err != nil {
return err
}
return protostream.RelayFromStreamingBytesClient(fileGetClient, apiGetFileServer)
}
开发者ID:klucar,项目名称:pachyderm,代码行数:12,代码来源:api_server.go
示例12: GetBlock
func (a *apiServer) GetBlock(request *pfs.GetBlockRequest, apiGetBlockServer pfs.API_GetBlockServer) (retErr error) {
ctx := versionToContext(a.version, apiGetBlockServer.Context())
clientConn, err := a.getClientConnForBlock(request.Block, a.version)
if err != nil {
return err
}
blockGetClient, err := pfs.NewInternalAPIClient(clientConn).GetBlock(ctx, request)
if err != nil {
return err
}
return protostream.RelayFromStreamingBytesClient(blockGetClient, apiGetBlockServer)
}
开发者ID:klucar,项目名称:pachyderm,代码行数:12,代码来源:api_server.go
示例13: GetFile
func (a *apiServer) GetFile(request *pfs.GetFileRequest, apiGetFileServer pfs.API_GetFileServer) (retErr error) {
defer func(start time.Time) { a.Log(request, google_protobuf.EmptyInstance, retErr, time.Since(start)) }(time.Now())
ctx := versionToContext(a.version, apiGetFileServer.Context())
clientConn, err := a.getClientConnForFile(request.File, a.version)
if err != nil {
return err
}
fileGetClient, err := pfs.NewInternalAPIClient(clientConn).GetFile(ctx, request)
if err != nil {
return err
}
return protostream.RelayFromStreamingBytesClient(fileGetClient, apiGetFileServer)
}
开发者ID:fausto-svds,项目名称:pachyderm,代码行数:13,代码来源:api_server.go
示例14: PutBlock
func (a *apiServer) PutBlock(ctx context.Context, request *pfs.PutBlockRequest) (*pfs.Block, error) {
a.versionLock.RLock()
defer a.versionLock.RUnlock()
ctx = versionToContext(a.version, ctx)
block := a.sharder.GetBlock(request.Value)
clientConn, err := a.getClientConnForBlock(block, a.version)
if err != nil {
return nil, err
}
if _, err := pfs.NewInternalAPIClient(clientConn).PutBlock(ctx, request); err != nil {
return nil, err
}
return block, nil
}
开发者ID:mehulsbhatt,项目名称:pachyderm,代码行数:14,代码来源:api_server.go
示例15: FinishCommit
func (a *apiServer) FinishCommit(ctx context.Context, request *pfs.FinishCommitRequest) (*google_protobuf.Empty, error) {
a.versionLock.RLock()
defer a.versionLock.RUnlock()
ctx = versionToContext(a.version, ctx)
clientConns, err := a.router.GetAllClientConns(a.version)
if err != nil {
return nil, err
}
for _, clientConn := range clientConns {
if _, err := pfs.NewInternalAPIClient(clientConn).FinishCommit(ctx, request); err != nil {
return nil, err
}
}
return google_protobuf.EmptyInstance, nil
}
开发者ID:mehulsbhatt,项目名称:pachyderm,代码行数:15,代码来源:api_server.go
示例16: PutBlock
func (a *apiServer) PutBlock(ctx context.Context, request *pfs.PutBlockRequest) (response *pfs.Block, retErr error) {
defer func(start time.Time) { a.Log(request, response, retErr, time.Since(start)) }(time.Now())
a.versionLock.RLock()
defer a.versionLock.RUnlock()
ctx = versionToContext(a.version, ctx)
block := a.sharder.GetBlock(request.Value)
clientConn, err := a.getClientConnForBlock(block, a.version)
if err != nil {
return nil, err
}
if _, err := pfs.NewInternalAPIClient(clientConn).PutBlock(ctx, request); err != nil {
return nil, err
}
return block, nil
}
开发者ID:klucar,项目名称:pachyderm,代码行数:15,代码来源:api_server.go
示例17: CreateRepo
func (a *apiServer) CreateRepo(ctx context.Context, request *pfs.CreateRepoRequest) (response *google_protobuf.Empty, retErr error) {
defer func(start time.Time) { a.Log(request, response, retErr, time.Since(start)) }(time.Now())
a.versionLock.RLock()
defer a.versionLock.RUnlock()
ctx = versionToContext(a.version, ctx)
clientConns, err := a.router.GetAllClientConns(a.version)
if err != nil {
return nil, err
}
for _, clientConn := range clientConns {
if _, err := pfs.NewInternalAPIClient(clientConn).CreateRepo(ctx, request); err != nil {
return nil, err
}
}
return google_protobuf.EmptyInstance, nil
}
开发者ID:klucar,项目名称:pachyderm,代码行数:16,代码来源:api_server.go
示例18: ListFile
func (a *apiServer) ListFile(ctx context.Context, request *pfs.ListFileRequest) (response *pfs.FileInfos, retErr error) {
defer func(start time.Time) { a.Log(request, response, retErr, time.Since(start)) }(time.Now())
a.versionLock.RLock()
defer a.versionLock.RUnlock()
ctx = versionToContext(a.version, ctx)
clientConns, err := a.router.GetAllClientConns(a.version)
if err != nil {
return nil, err
}
var wg sync.WaitGroup
var lock sync.Mutex
var fileInfos []*pfs.FileInfo
seenDirectories := make(map[string]bool)
var loopErr error
for _, clientConn := range clientConns {
wg.Add(1)
go func(clientConn *grpc.ClientConn) {
defer wg.Done()
subFileInfos, err := pfs.NewInternalAPIClient(clientConn).ListFile(ctx, request)
lock.Lock()
defer lock.Unlock()
if err != nil {
if loopErr == nil {
loopErr = err
}
return
}
for _, fileInfo := range subFileInfos.FileInfo {
if fileInfo.FileType == pfs.FileType_FILE_TYPE_DIR {
if seenDirectories[fileInfo.File.Path] {
continue
}
seenDirectories[fileInfo.File.Path] = true
}
fileInfos = append(fileInfos, fileInfo)
}
}(clientConn)
}
wg.Wait()
if loopErr != nil {
return nil, loopErr
}
return &pfs.FileInfos{
FileInfo: fileInfos,
}, nil
}
开发者ID:klucar,项目名称:pachyderm,代码行数:46,代码来源:api_server.go
示例19: StartCommit
func (a *apiServer) StartCommit(ctx context.Context, request *pfs.StartCommitRequest) (*pfs.Commit, error) {
a.versionLock.RLock()
defer a.versionLock.RUnlock()
ctx = versionToContext(a.version, ctx)
clientConns, err := a.router.GetAllClientConns(a.version)
if err != nil {
return nil, err
}
if request.Commit == nil {
request.Commit = &pfs.Commit{
Repo: request.Parent.Repo,
Id: uuid.NewWithoutDashes(),
}
}
for _, clientConn := range clientConns {
if _, err := pfs.NewInternalAPIClient(clientConn).StartCommit(ctx, request); err != nil {
return nil, err
}
}
return request.Commit, nil
}
开发者ID:mehulsbhatt,项目名称:pachyderm,代码行数:21,代码来源:api_server.go
示例20: ListChange
func (a *apiServer) ListChange(ctx context.Context, request *pfs.ListChangeRequest) (*pfs.Changes, error) {
a.versionLock.RLock()
defer a.versionLock.RUnlock()
ctx = versionToContext(a.version, ctx)
clientConns, err := a.router.GetAllClientConns(a.version)
if err != nil {
return nil, err
}
var wg sync.WaitGroup
var lock sync.Mutex
var changes []*pfs.Change
var loopErr error
for _, clientConn := range clientConns {
wg.Add(1)
go func(clientConn *grpc.ClientConn) {
defer wg.Done()
subChanges, err := pfs.NewInternalAPIClient(clientConn).ListChange(ctx, request)
lock.Lock()
defer lock.Unlock()
if err != nil {
if loopErr == nil {
loopErr = err
}
return
}
for _, change := range subChanges.Change {
changes = append(changes, change)
}
}(clientConn)
}
wg.Wait()
if loopErr != nil {
return nil, loopErr
}
return &pfs.Changes{
Change: changes,
}, nil
}
开发者ID:mehulsbhatt,项目名称:pachyderm,代码行数:38,代码来源:api_server.go
注:本文中的github.com/pachyderm/pachyderm/src/pfs.NewInternalAPIClient函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论