distribution/xfer: un-export DoFunc type
It's only used internally and by non-exported functions, so it doesn't have to be exported. Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
parent
4d6c6a5000
commit
79ea1b16b1
4 changed files with 13 additions and 13 deletions
|
@ -166,7 +166,7 @@ func (ldm *LayerDownloadManager) Download(ctx context.Context, initialRootFS ima
|
|||
// Layer is not known to exist - download and register it.
|
||||
progress.Update(progressOutput, descriptor.ID(), "Pulling fs layer")
|
||||
|
||||
var xferFunc DoFunc
|
||||
var xferFunc doFunc
|
||||
if topDownload != nil {
|
||||
xferFunc = ldm.makeDownloadFunc(descriptor, "", topDownload)
|
||||
defer topDownload.transfer.release(watcher)
|
||||
|
@ -228,7 +228,7 @@ func (ldm *LayerDownloadManager) Download(ctx context.Context, initialRootFS ima
|
|||
// complete before the registration step, and registers the downloaded data
|
||||
// on top of parentDownload's resulting layer. Otherwise, it registers the
|
||||
// layer on top of the ChainID given by parentLayer.
|
||||
func (ldm *LayerDownloadManager) makeDownloadFunc(descriptor DownloadDescriptor, parentLayer layer.ChainID, parentDownload *downloadTransfer) DoFunc {
|
||||
func (ldm *LayerDownloadManager) makeDownloadFunc(descriptor DownloadDescriptor, parentLayer layer.ChainID, parentDownload *downloadTransfer) doFunc {
|
||||
return func(progressChan chan<- progress.Progress, start <-chan struct{}, inactive chan<- struct{}) transfer {
|
||||
d := &downloadTransfer{
|
||||
transfer: newTransfer(),
|
||||
|
@ -392,7 +392,7 @@ func (ldm *LayerDownloadManager) makeDownloadFunc(descriptor DownloadDescriptor,
|
|||
// parentDownload. This function does not log progress output because it would
|
||||
// interfere with the progress reporting for sourceDownload, which has the same
|
||||
// Key.
|
||||
func (ldm *LayerDownloadManager) makeDownloadFuncFromDownload(descriptor DownloadDescriptor, sourceDownload *downloadTransfer, parentDownload *downloadTransfer) DoFunc {
|
||||
func (ldm *LayerDownloadManager) makeDownloadFuncFromDownload(descriptor DownloadDescriptor, sourceDownload *downloadTransfer, parentDownload *downloadTransfer) doFunc {
|
||||
return func(progressChan chan<- progress.Progress, start <-chan struct{}, inactive chan<- struct{}) transfer {
|
||||
d := &downloadTransfer{
|
||||
transfer: newTransfer(),
|
||||
|
|
|
@ -263,13 +263,13 @@ func (t *xfer) close() {
|
|||
t.mu.Unlock()
|
||||
}
|
||||
|
||||
// DoFunc is a function called by the transferManager to actually perform
|
||||
// doFunc is a function called by the transferManager to actually perform
|
||||
// a transfer. It should be non-blocking. It should wait until the start channel
|
||||
// is closed before transferring any data. If the function closes inactive, that
|
||||
// signals to the transferManager that the job is no longer actively moving
|
||||
// data - for example, it may be waiting for a dependent transfer to finish.
|
||||
// This prevents it from taking up a slot.
|
||||
type DoFunc func(progressChan chan<- progress.Progress, start <-chan struct{}, inactive chan<- struct{}) transfer
|
||||
type doFunc func(progressChan chan<- progress.Progress, start <-chan struct{}, inactive chan<- struct{}) transfer
|
||||
|
||||
// transferManager is used by LayerDownloadManager and LayerUploadManager to
|
||||
// schedule and deduplicate transfers. It is up to the transferManager
|
||||
|
@ -301,7 +301,7 @@ func (tm *transferManager) setConcurrency(concurrency int) {
|
|||
// transfer checks if a transfer matching the given key is in progress. If not,
|
||||
// it starts one by calling xferFunc. The caller supplies a channel which
|
||||
// receives progress output from the transfer.
|
||||
func (tm *transferManager) transfer(key string, xferFunc DoFunc, progressOutput progress.Output) (transfer, *watcher) {
|
||||
func (tm *transferManager) transfer(key string, xferFunc doFunc, progressOutput progress.Output) (transfer, *watcher) {
|
||||
tm.mu.Lock()
|
||||
defer tm.mu.Unlock()
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ import (
|
|||
)
|
||||
|
||||
func TestTransfer(t *testing.T) {
|
||||
makeXferFunc := func(id string) DoFunc {
|
||||
makeXferFunc := func(id string) doFunc {
|
||||
return func(progressChan chan<- progress.Progress, start <-chan struct{}, _ chan<- struct{}) transfer {
|
||||
select {
|
||||
case <-start:
|
||||
|
@ -71,7 +71,7 @@ func TestConcurrencyLimit(t *testing.T) {
|
|||
const concurrencyLimit = 3
|
||||
var runningJobs int32
|
||||
|
||||
makeXferFunc := func(id string) DoFunc {
|
||||
makeXferFunc := func(id string) doFunc {
|
||||
return func(progressChan chan<- progress.Progress, start <-chan struct{}, _ chan<- struct{}) transfer {
|
||||
xfer := newTransfer()
|
||||
go func() {
|
||||
|
@ -130,7 +130,7 @@ func TestInactiveJobs(t *testing.T) {
|
|||
var runningJobs int32
|
||||
testDone := make(chan struct{})
|
||||
|
||||
makeXferFunc := func(id string) DoFunc {
|
||||
makeXferFunc := func(id string) doFunc {
|
||||
return func(progressChan chan<- progress.Progress, start <-chan struct{}, inactive chan<- struct{}) transfer {
|
||||
xfer := newTransfer()
|
||||
go func() {
|
||||
|
@ -190,7 +190,7 @@ func TestInactiveJobs(t *testing.T) {
|
|||
func TestWatchRelease(t *testing.T) {
|
||||
ready := make(chan struct{})
|
||||
|
||||
makeXferFunc := func(id string) DoFunc {
|
||||
makeXferFunc := func(id string) doFunc {
|
||||
return func(progressChan chan<- progress.Progress, start <-chan struct{}, _ chan<- struct{}) transfer {
|
||||
xfer := newTransfer()
|
||||
go func() {
|
||||
|
@ -279,7 +279,7 @@ func TestWatchRelease(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestWatchFinishedTransfer(t *testing.T) {
|
||||
makeXferFunc := func(id string) DoFunc {
|
||||
makeXferFunc := func(id string) doFunc {
|
||||
return func(progressChan chan<- progress.Progress, _ <-chan struct{}, _ chan<- struct{}) transfer {
|
||||
xfer := newTransfer()
|
||||
go func() {
|
||||
|
@ -321,7 +321,7 @@ func TestDuplicateTransfer(t *testing.T) {
|
|||
|
||||
var xferFuncCalls int32
|
||||
|
||||
makeXferFunc := func(id string) DoFunc {
|
||||
makeXferFunc := func(id string) doFunc {
|
||||
return func(progressChan chan<- progress.Progress, _ <-chan struct{}, _ chan<- struct{}) transfer {
|
||||
atomic.AddInt32(&xferFuncCalls, 1)
|
||||
xfer := newTransfer()
|
||||
|
|
|
@ -102,7 +102,7 @@ func (lum *LayerUploadManager) Upload(ctx context.Context, layers []UploadDescri
|
|||
return nil
|
||||
}
|
||||
|
||||
func (lum *LayerUploadManager) makeUploadFunc(descriptor UploadDescriptor) DoFunc {
|
||||
func (lum *LayerUploadManager) makeUploadFunc(descriptor UploadDescriptor) doFunc {
|
||||
return func(progressChan chan<- progress.Progress, start <-chan struct{}, inactive chan<- struct{}) transfer {
|
||||
u := &uploadTransfer{
|
||||
transfer: newTransfer(),
|
||||
|
|
Loading…
Reference in a new issue