63 lines
2.0 KiB
Go
63 lines
2.0 KiB
Go
package services
|
|
|
|
import (
|
|
"gitlink.org.cn/cloudream/jcs-pub/client/internal/accessstat"
|
|
"gitlink.org.cn/cloudream/jcs-pub/client/internal/db"
|
|
"gitlink.org.cn/cloudream/jcs-pub/client/internal/downloader"
|
|
"gitlink.org.cn/cloudream/jcs-pub/client/internal/downloader/strategy"
|
|
"gitlink.org.cn/cloudream/jcs-pub/client/internal/metacache"
|
|
"gitlink.org.cn/cloudream/jcs-pub/client/internal/mount"
|
|
"gitlink.org.cn/cloudream/jcs-pub/client/internal/spacesyncer"
|
|
"gitlink.org.cn/cloudream/jcs-pub/client/internal/ticktock"
|
|
"gitlink.org.cn/cloudream/jcs-pub/client/internal/uploader"
|
|
"gitlink.org.cn/cloudream/jcs-pub/common/pkgs/publock"
|
|
"gitlink.org.cn/cloudream/jcs-pub/common/pkgs/storage/pool"
|
|
"gitlink.org.cn/cloudream/jcs-pub/common/pkgs/sysevent"
|
|
)
|
|
|
|
// Service 结构体封装了分布锁服务和任务管理服务。
|
|
type Service struct {
|
|
PubLock *publock.Service
|
|
Downloader *downloader.Downloader
|
|
AccessStat *accessstat.AccessStat
|
|
Uploader *uploader.Uploader
|
|
StrategySelector *strategy.Selector
|
|
UserSpaceMeta *metacache.UserSpaceMeta
|
|
DB *db.DB
|
|
EvtPub *sysevent.Publisher
|
|
Mount *mount.Mount
|
|
StgPool *pool.Pool
|
|
SpaceSyncer *spacesyncer.SpaceSyncer
|
|
TickTock *ticktock.TickTock
|
|
}
|
|
|
|
func NewService(
|
|
publock *publock.Service,
|
|
downloader *downloader.Downloader,
|
|
accStat *accessstat.AccessStat,
|
|
uploder *uploader.Uploader,
|
|
strategySelector *strategy.Selector,
|
|
userSpaceMeta *metacache.UserSpaceMeta,
|
|
db *db.DB,
|
|
evtPub *sysevent.Publisher,
|
|
mount *mount.Mount,
|
|
stgPool *pool.Pool,
|
|
spaceSyncer *spacesyncer.SpaceSyncer,
|
|
tickTock *ticktock.TickTock,
|
|
) *Service {
|
|
return &Service{
|
|
PubLock: publock,
|
|
Downloader: downloader,
|
|
AccessStat: accStat,
|
|
Uploader: uploder,
|
|
StrategySelector: strategySelector,
|
|
UserSpaceMeta: userSpaceMeta,
|
|
DB: db,
|
|
EvtPub: evtPub,
|
|
Mount: mount,
|
|
StgPool: stgPool,
|
|
SpaceSyncer: spaceSyncer,
|
|
TickTock: tickTock,
|
|
}
|
|
}
|