github.com/NVIDIA/aistore@v1.3.23-0.20240517131212-7df6609be51d/xact/xs/init.go (about)

     1  // Package xs is a collection of eXtended actions (xactions), including multi-object
     2  // operations, list-objects, (cluster) rebalance and (target) resilver, ETL, and more.
     3  /*
     4   * Copyright (c) 2018-2024, NVIDIA CORPORATION. All rights reserved.
     5   */
     6  package xs
     7  
     8  import (
     9  	"github.com/NVIDIA/aistore/api/apc"
    10  	"github.com/NVIDIA/aistore/xact/xreg"
    11  )
    12  
    13  // for additional startup-time reg-s see lru, downloader, ec
    14  func Xreg(xeleOnly bool) {
    15  	xreg.RegNonBckXact(&eleFactory{})
    16  	if xeleOnly {
    17  		return
    18  	}
    19  
    20  	xreg.RegNonBckXact(&resFactory{})
    21  	xreg.RegNonBckXact(&rebFactory{})
    22  	xreg.RegNonBckXact(&etlFactory{})
    23  
    24  	xreg.RegBckXact(&bmvFactory{})
    25  	xreg.RegBckXact(&evdFactory{kind: apc.ActEvictObjects})
    26  	xreg.RegBckXact(&evdFactory{kind: apc.ActDeleteObjects})
    27  	xreg.RegBckXact(&prfFactory{})
    28  
    29  	xreg.RegNonBckXact(&nsummFactory{})
    30  
    31  	xreg.RegBckXact(&proFactory{})
    32  	xreg.RegBckXact(&llcFactory{})
    33  
    34  	xreg.RegBckXact(&tcbFactory{kind: apc.ActCopyBck})
    35  	xreg.RegBckXact(&tcbFactory{kind: apc.ActETLBck})
    36  
    37  	xreg.RegBckXact(&tcoFactory{streamingF: streamingF{kind: apc.ActETLObjects}})
    38  	xreg.RegBckXact(&tcoFactory{streamingF: streamingF{kind: apc.ActCopyObjects}})
    39  	xreg.RegBckXact(&archFactory{streamingF: streamingF{kind: apc.ActArchive}})
    40  	xreg.RegBckXact(&lsoFactory{streamingF: streamingF{kind: apc.ActList}})
    41  
    42  	xreg.RegBckXact(&blobFactory{})
    43  }