func (a *internalAPIServer) PushDiff(pushDiffServer pfs.ReplicaAPI_PushDiffServer) (retErr error) { version, err := a.getVersion(pushDiffServer.Context()) if err != nil { return err } defer func() { if err := pushDiffServer.SendAndClose(google_protobuf.EmptyInstance); err != nil && retErr == nil { retErr = err } }() request, err := pushDiffServer.Recv() if err != nil { return err } ok, err := a.isLocalReplicaShard(request.Shard, version) if err != nil { return err } if !ok { return fmt.Errorf("pachyderm: illegal PushDiffRequest for unknown shard %d", request.Shard) } reader := &pushDiffReader{ server: pushDiffServer, } _, err = reader.buffer.Write(request.Value) if err != nil { return err } return a.driver.PushDiff(request.Commit, request.Shard, reader) }