From f7dbe45c4278c2e5b40b46b4af29084b2fbf46d6 Mon Sep 17 00:00:00 2001 From: hunjixin <1084400399@qq.com> Date: Mon, 15 Nov 2021 10:14:28 +0800 Subject: [PATCH] refract package --- api/api.go | 7 +- api/impl/impl.go | 26 +++--- api/proxy_gen.go | 25 +++--- client/client.go | 12 +-- client/client_test.go | 4 +- client/modules.go | 10 +-- cmd/market-client/main.go | 4 +- cmd/venus-market/main.go | 12 +-- dagstore/market_api.go | 6 +- dagstore/modules.go | 4 +- piece/modules.go | 17 ---- {piece => piecestorage}/filestore.go | 2 +- piecestorage/modules.go | 13 +++ {piece => piecestorage}/reader.go | 2 +- {piece => piecestorage}/reader_test.go | 2 +- .../ask_handler.go | 2 +- .../cli.go | 2 +- .../client.go | 2 +- .../client_blockstore.go | 2 +- .../datatransfer_handler.go | 2 +- .../lazyblockstore.go | 2 +- .../lazyblockstore_test.go | 2 +- .../modules.go | 2 +- .../piecestore.go | 2 +- .../provider.go | 2 +- .../provider_datatransfer_sub.go | 2 +- .../provider_environments.go | 2 +- .../providerv2.go | 2 +- .../requestvalidation.go | 2 +- .../retrieval_handler.go | 2 +- .../revalidator.go | 2 +- .../state_change.go | 2 +- .../stream_handler.go | 2 +- .../address_select.go | 2 +- {storageadapter => storageprovider}/api.go | 2 +- {storageadapter => storageprovider}/client.go | 2 +- .../client_blockstore.go | 2 +- .../currentdealinfo.go | 2 +- .../datatransfersubscriber.go | 2 +- .../deal_assigner.go | 89 ++++++------------- .../deal_proposer.go | 8 +- .../dealpublisher.go | 2 +- .../dealstatematcher.go | 2 +- .../handle_datatransfer.go | 2 +- .../modules.go | 3 +- .../ondealsectorcommitted.go | 2 +- .../peer_tagger.go | 2 +- .../provider.go | 9 +- .../storage_ask.go | 2 +- .../storage_ask_test.go | 2 +- .../storageprovider.go | 6 +- {storageadapter => storageprovider}/stream.go | 2 +- .../transportconfigurer.go | 2 +- piece/types.go => types/assigner_types.go | 2 +- 54 files changed, 144 insertions(+), 185 deletions(-) delete mode 100644 piece/modules.go rename {piece => piecestorage}/filestore.go (98%) create mode 100644 piecestorage/modules.go rename {piece => piecestorage}/reader.go (99%) rename {piece => piecestorage}/reader_test.go (97%) rename {retrievaladapter => retrievalprovider}/ask_handler.go (99%) rename {retrievaladapter => retrievalprovider}/cli.go (98%) rename {retrievaladapter => retrievalprovider}/client.go (99%) rename {retrievaladapter => retrievalprovider}/client_blockstore.go (98%) rename {retrievaladapter => retrievalprovider}/datatransfer_handler.go (99%) rename {retrievaladapter => retrievalprovider}/lazyblockstore.go (98%) rename {retrievaladapter => retrievalprovider}/lazyblockstore_test.go (99%) rename {retrievaladapter => retrievalprovider}/modules.go (99%) rename {retrievaladapter => retrievalprovider}/piecestore.go (98%) rename {retrievaladapter => retrievalprovider}/provider.go (99%) rename {retrievaladapter => retrievalprovider}/provider_datatransfer_sub.go (99%) rename {retrievaladapter => retrievalprovider}/provider_environments.go (99%) rename {retrievaladapter => retrievalprovider}/providerv2.go (99%) rename {retrievaladapter => retrievalprovider}/requestvalidation.go (99%) rename {retrievaladapter => retrievalprovider}/retrieval_handler.go (99%) rename {retrievaladapter => retrievalprovider}/revalidator.go (99%) rename {retrievaladapter => retrievalprovider}/state_change.go (98%) rename {retrievaladapter => retrievalprovider}/stream_handler.go (99%) rename {storageadapter => storageprovider}/address_select.go (99%) rename {storageadapter => storageprovider}/api.go (98%) rename {storageadapter => storageprovider}/client.go (99%) rename {storageadapter => storageprovider}/client_blockstore.go (99%) rename {storageadapter => storageprovider}/currentdealinfo.go (99%) rename {storageadapter => storageprovider}/datatransfersubscriber.go (99%) rename piece/piecestore.go => storageprovider/deal_assigner.go (81%) rename {storageadapter => storageprovider}/deal_proposer.go (99%) rename {storageadapter => storageprovider}/dealpublisher.go (99%) rename {storageadapter => storageprovider}/dealstatematcher.go (99%) rename {storageadapter => storageprovider}/handle_datatransfer.go (99%) rename {storageadapter => storageprovider}/modules.go (99%) rename {storageadapter => storageprovider}/ondealsectorcommitted.go (99%) rename {storageadapter => storageprovider}/peer_tagger.go (94%) rename {storageadapter => storageprovider}/provider.go (98%) rename {storageadapter => storageprovider}/storage_ask.go (99%) rename {storageadapter => storageprovider}/storage_ask_test.go (98%) rename {storageadapter => storageprovider}/storageprovider.go (99%) rename {storageadapter => storageprovider}/stream.go (99%) rename {storageadapter => storageprovider}/transportconfigurer.go (97%) rename piece/types.go => types/assigner_types.go (98%) diff --git a/api/api.go b/api/api.go index b1c04ec8..fead6c2e 100644 --- a/api/api.go +++ b/api/api.go @@ -26,7 +26,6 @@ import ( "github.com/filecoin-project/venus-market/client" "github.com/filecoin-project/venus-market/imports" - "github.com/filecoin-project/venus-market/piece" "github.com/filecoin-project/venus-market/types" "github.com/filecoin-project/venus-market/utils" ) @@ -142,9 +141,9 @@ type MarketFullNode interface { MarkDealsAsPacking(ctx context.Context, miner address.Address, deals []abi.DealID) error //perm:write UpdateDealOnPacking(ctx context.Context, miner address.Address, dealID abi.DealID, sectorid abi.SectorNumber, offset abi.PaddedPieceSize) error //perm:write UpdateDealStatus(ctx context.Context, miner address.Address, dealID abi.DealID, pieceStatus string) error //perm:write - GetDeals(ctx context.Context, miner address.Address, pageIndex, pageSize int) ([]*piece.DealInfo, error) //perm:read - GetUnPackedDeals(ctx context.Context, miner address.Address, spec *piece.GetDealSpec) ([]*piece.DealInfoIncludePath, error) //perm:read - AssignUnPackedDeals(ctx context.Context, miner address.Address, ssize abi.SectorSize, spec *piece.GetDealSpec) ([]*piece.DealInfoIncludePath, error) //perm:write + GetDeals(ctx context.Context, miner address.Address, pageIndex, pageSize int) ([]*types.DealInfo, error) //perm:read + GetUnPackedDeals(ctx context.Context, miner address.Address, spec *types.GetDealSpec) ([]*types.DealInfoIncludePath, error) //perm:read + AssignUnPackedDeals(ctx context.Context, miner address.Address, ssize abi.SectorSize, spec *types.GetDealSpec) ([]*types.DealInfoIncludePath, error) //perm:write //market event ResponseMarketEvent(ctx context.Context, resp *types2.ResponseEvent) error //perm:read diff --git a/api/impl/impl.go b/api/impl/impl.go index 20c28ca8..4f91b7b5 100644 --- a/api/impl/impl.go +++ b/api/impl/impl.go @@ -11,7 +11,7 @@ import ( "github.com/filecoin-project/specs-actors/actors/builtin/paych" "github.com/filecoin-project/venus-market/minermgr" - "github.com/filecoin-project/venus-market/retrievaladapter" + "github.com/filecoin-project/venus-market/retrievalprovider" "github.com/ipfs/go-cid" logging "github.com/ipfs/go-log/v2" @@ -33,8 +33,8 @@ import ( clients2 "github.com/filecoin-project/venus-market/api/clients" "github.com/filecoin-project/venus-market/config" "github.com/filecoin-project/venus-market/network" - "github.com/filecoin-project/venus-market/piece" - storageadapter2 "github.com/filecoin-project/venus-market/storageadapter" + "github.com/filecoin-project/venus-market/piecestorage" + storageadapter2 "github.com/filecoin-project/venus-market/storageprovider" "github.com/filecoin-project/venus-market/types" mTypes "github.com/filecoin-project/venus-messager/types" @@ -57,15 +57,15 @@ type MarketNodeImpl struct { FullNode apiface.FullNode Host host.Host StorageProvider storageadapter2.StorageProviderV2 - RetrievalProvider retrievaladapter.IRetrievalProvider - RetrievalAskHandler retrievaladapter.IAskHandler + RetrievalProvider retrievalprovider.IRetrievalProvider + RetrievalAskHandler retrievalprovider.IAskHandler DataTransfer network.ProviderDataTransfer DealPublisher *storageadapter2.DealPublisher - DealAssigner piece.DealAssiger + DealAssigner storageadapter2.DealAssiger Messager clients2.IMessager `optional:"true"` DAGStore *dagstore.DAGStore - PieceStorage piece.IPieceStorage + PieceStorage piecestorage.IPieceStorage MinerMgr minermgr.IMinerMgr PaychAPI paych3.PaychAPI Repo repo.Repo @@ -243,7 +243,7 @@ func (m MarketNodeImpl) MarketPublishPendingDeals(ctx context.Context) error { } func (m MarketNodeImpl) PiecesListPieces(ctx context.Context) ([]cid.Cid, error) { - return m.DealAssigner.ListPieceInfoKeys() + return m.Repo.StorageDealRepo().ListPieceInfoKeys() } func (m MarketNodeImpl) PiecesListCidInfos(ctx context.Context) ([]cid.Cid, error) { @@ -251,11 +251,11 @@ func (m MarketNodeImpl) PiecesListCidInfos(ctx context.Context) ([]cid.Cid, erro } func (m MarketNodeImpl) PiecesGetPieceInfo(ctx context.Context, pieceCid cid.Cid) (*piecestore.PieceInfo, error) { - pi, err := m.DealAssigner.GetPieceInfo(pieceCid) + pi, err := m.Repo.StorageDealRepo().GetPieceInfo(pieceCid) if err != nil { return nil, err } - return &pi, nil + return pi, nil } func (m MarketNodeImpl) PiecesGetCIDInfo(ctx context.Context, payloadCid cid.Cid) (*piecestore.CIDInfo, error) { @@ -631,11 +631,11 @@ func (m MarketNodeImpl) DagstoreGC(ctx context.Context) ([]types.DagstoreShardRe return ret, nil } -func (m MarketNodeImpl) GetUnPackedDeals(ctx context.Context, miner address.Address, spec *piece.GetDealSpec) ([]*piece.DealInfoIncludePath, error) { +func (m MarketNodeImpl) GetUnPackedDeals(ctx context.Context, miner address.Address, spec *types.GetDealSpec) ([]*types.DealInfoIncludePath, error) { return m.DealAssigner.GetUnPackedDeals(ctx, miner, spec) } -func (m MarketNodeImpl) AssignUnPackedDeals(ctx context.Context, miner address.Address, ssize abi.SectorSize, spec *piece.GetDealSpec) ([]*piece.DealInfoIncludePath, error) { +func (m MarketNodeImpl) AssignUnPackedDeals(ctx context.Context, miner address.Address, ssize abi.SectorSize, spec *types.GetDealSpec) ([]*types.DealInfoIncludePath, error) { return m.DealAssigner.AssignUnPackedDeals(ctx, miner, ssize, spec) } @@ -661,7 +661,7 @@ func (m MarketNodeImpl) DealsImportData(ctx context.Context, dealPropCid cid.Cid return m.StorageProvider.ImportDataForDeal(ctx, dealPropCid, fi) } -func (m MarketNodeImpl) GetDeals(ctx context.Context, miner address.Address, pageIndex, pageSize int) ([]*piece.DealInfo, error) { +func (m MarketNodeImpl) GetDeals(ctx context.Context, miner address.Address, pageIndex, pageSize int) ([]*types.DealInfo, error) { return m.DealAssigner.GetDeals(ctx, miner, pageIndex, pageSize) } diff --git a/api/proxy_gen.go b/api/proxy_gen.go index 5afb04d9..16a0b652 100644 --- a/api/proxy_gen.go +++ b/api/proxy_gen.go @@ -15,7 +15,6 @@ import ( "github.com/filecoin-project/specs-actors/actors/builtin/paych" "github.com/filecoin-project/venus-market/client" "github.com/filecoin-project/venus-market/imports" - "github.com/filecoin-project/venus-market/piece" "github.com/filecoin-project/venus-market/types" "github.com/filecoin-project/venus-market/utils" mTypes "github.com/filecoin-project/venus-messager/types" @@ -109,7 +108,7 @@ type MarketFullNodeStruct struct { ActorSectorSize func(p0 context.Context, p1 address.Address) (abi.SectorSize, error) `perm:"read"` - AssignUnPackedDeals func(p0 context.Context, p1 address.Address, p2 abi.SectorSize, p3 *piece.GetDealSpec) ([]*piece.DealInfoIncludePath, error) `perm:"write"` + AssignUnPackedDeals func(p0 context.Context, p1 address.Address, p2 abi.SectorSize, p3 *types.GetDealSpec) ([]*types.DealInfoIncludePath, error) `perm:"write"` DagstoreGC func(p0 context.Context) ([]types.DagstoreShardResult, error) `perm:"admin"` @@ -151,9 +150,9 @@ type MarketFullNodeStruct struct { DealsSetPieceCidBlocklist func(p0 context.Context, p1 []cid.Cid) error `perm:"admin"` - GetDeals func(p0 context.Context, p1 address.Address, p2 int, p3 int) ([]*piece.DealInfo, error) `perm:"read"` + GetDeals func(p0 context.Context, p1 address.Address, p2 int, p3 int) ([]*types.DealInfo, error) `perm:"read"` - GetUnPackedDeals func(p0 context.Context, p1 address.Address, p2 *piece.GetDealSpec) ([]*piece.DealInfoIncludePath, error) `perm:"read"` + GetUnPackedDeals func(p0 context.Context, p1 address.Address, p2 *types.GetDealSpec) ([]*types.DealInfoIncludePath, error) `perm:"read"` ID func(p0 context.Context) (peer.ID, error) `perm:"read"` @@ -522,12 +521,12 @@ func (s *MarketFullNodeStub) ActorSectorSize(p0 context.Context, p1 address.Addr return *new(abi.SectorSize), xerrors.New("method not supported") } -func (s *MarketFullNodeStruct) AssignUnPackedDeals(p0 context.Context, p1 address.Address, p2 abi.SectorSize, p3 *piece.GetDealSpec) ([]*piece.DealInfoIncludePath, error) { +func (s *MarketFullNodeStruct) AssignUnPackedDeals(p0 context.Context, p1 address.Address, p2 abi.SectorSize, p3 *types.GetDealSpec) ([]*types.DealInfoIncludePath, error) { return s.Internal.AssignUnPackedDeals(p0, p1, p2, p3) } -func (s *MarketFullNodeStub) AssignUnPackedDeals(p0 context.Context, p1 address.Address, p2 abi.SectorSize, p3 *piece.GetDealSpec) ([]*piece.DealInfoIncludePath, error) { - return *new([]*piece.DealInfoIncludePath), xerrors.New("method not supported") +func (s *MarketFullNodeStub) AssignUnPackedDeals(p0 context.Context, p1 address.Address, p2 abi.SectorSize, p3 *types.GetDealSpec) ([]*types.DealInfoIncludePath, error) { + return *new([]*types.DealInfoIncludePath), xerrors.New("method not supported") } func (s *MarketFullNodeStruct) DagstoreGC(p0 context.Context) ([]types.DagstoreShardResult, error) { @@ -690,20 +689,20 @@ func (s *MarketFullNodeStub) DealsSetPieceCidBlocklist(p0 context.Context, p1 [] return xerrors.New("method not supported") } -func (s *MarketFullNodeStruct) GetDeals(p0 context.Context, p1 address.Address, p2, p3 int) ([]*piece.DealInfo, error) { +func (s *MarketFullNodeStruct) GetDeals(p0 context.Context, p1 address.Address, p2, p3 int) ([]*types.DealInfo, error) { return s.Internal.GetDeals(p0, p1, p2, p3) } -func (s *MarketFullNodeStub) GetDeals(p0 context.Context, p1 address.Address, p2 int, p3 int) ([]*piece.DealInfo, error) { - return *new([]*piece.DealInfo), xerrors.New("method not supported") +func (s *MarketFullNodeStub) GetDeals(p0 context.Context, p1 address.Address, p2 int, p3 int) ([]*types.DealInfo, error) { + return *new([]*types.DealInfo), xerrors.New("method not supported") } -func (s *MarketFullNodeStruct) GetUnPackedDeals(p0 context.Context, p1 address.Address, p2 *piece.GetDealSpec) ([]*piece.DealInfoIncludePath, error) { +func (s *MarketFullNodeStruct) GetUnPackedDeals(p0 context.Context, p1 address.Address, p2 *types.GetDealSpec) ([]*types.DealInfoIncludePath, error) { return s.Internal.GetUnPackedDeals(p0, p1, p2) } -func (s *MarketFullNodeStub) GetUnPackedDeals(p0 context.Context, p1 address.Address, p2 *piece.GetDealSpec) ([]*piece.DealInfoIncludePath, error) { - return *new([]*piece.DealInfoIncludePath), xerrors.New("method not supported") +func (s *MarketFullNodeStub) GetUnPackedDeals(p0 context.Context, p1 address.Address, p2 *types.GetDealSpec) ([]*types.DealInfoIncludePath, error) { + return *new([]*types.DealInfoIncludePath), xerrors.New("method not supported") } func (s *MarketFullNodeStruct) ID(p0 context.Context) (peer.ID, error) { diff --git a/client/client.go b/client/client.go index 4745c834..3d549987 100644 --- a/client/client.go +++ b/client/client.go @@ -53,8 +53,8 @@ import ( "github.com/filecoin-project/venus-market/config" "github.com/filecoin-project/venus-market/imports" - "github.com/filecoin-project/venus-market/retrievaladapter" - "github.com/filecoin-project/venus-market/storageadapter" + "github.com/filecoin-project/venus-market/retrievalprovider" + "github.com/filecoin-project/venus-market/storageprovider" types2 "github.com/filecoin-project/venus-market/types" marketNetwork "github.com/filecoin-project/venus-market/network" @@ -840,8 +840,8 @@ func (a *API) clientRetrieve(ctx context.Context, order RetrievalOrder, ref *Fil // the CARv1 (with ExtractV1File) or UnixFS export from it. // this indicates we're proxying to IPFS. - proxyBss, retrieveIntoIPFS := a.RtvlBlockstoreAccessor.(*retrievaladapter.ProxyBlockstoreAccessor) - carBss, retrieveIntoCAR := a.RtvlBlockstoreAccessor.(*retrievaladapter.CARBlockstoreAccessor) + proxyBss, retrieveIntoIPFS := a.RtvlBlockstoreAccessor.(*retrievalprovider.ProxyBlockstoreAccessor) + carBss, retrieveIntoCAR := a.RtvlBlockstoreAccessor.(*retrievalprovider.CARBlockstoreAccessor) carPath := order.FromLocalCAR if carPath == "" { @@ -1296,7 +1296,7 @@ func (a *API) ClientGetDealStatus(ctx context.Context, statusCode uint64) (strin // must be called when done. func (a *API) dealBlockstore(root cid.Cid) (bstore.Blockstore, func(), error) { switch acc := a.StorageBlockstoreAccessor.(type) { - case *storageadapter.ImportsBlockstoreAccessor: + case *storageprovider.ImportsBlockstoreAccessor: bs, err := acc.Get(root) if err != nil { return nil, nil, xerrors.Errorf("no import found for root %s: %w", root, err) @@ -1307,7 +1307,7 @@ func (a *API) dealBlockstore(root cid.Cid) (bstore.Blockstore, func(), error) { } return bs, doneFn, nil - case *storageadapter.ProxyBlockstoreAccessor: + case *storageprovider.ProxyBlockstoreAccessor: return acc.Blockstore, func() {}, nil default: diff --git a/client/client_test.go b/client/client_test.go index 3c2a742c..6f4061d9 100644 --- a/client/client_test.go +++ b/client/client_test.go @@ -23,7 +23,7 @@ import ( "github.com/stretchr/testify/require" "github.com/filecoin-project/venus-market/imports" - "github.com/filecoin-project/venus-market/storageadapter" + "github.com/filecoin-project/venus-market/storageprovider" ) //go:embed testdata/* @@ -37,7 +37,7 @@ func TestImportLocal(t *testing.T) { a := &API{ Imports: im, - StorageBlockstoreAccessor: storageadapter.NewImportsBlockstoreAccessor(im), + StorageBlockstoreAccessor: storageprovider.NewImportsBlockstoreAccessor(im), } b, err := testdata.ReadFile("testdata/payload.txt") diff --git a/client/modules.go b/client/modules.go index 1d28e836..d5711faa 100644 --- a/client/modules.go +++ b/client/modules.go @@ -30,8 +30,8 @@ import ( "github.com/filecoin-project/venus-market/journal" "github.com/filecoin-project/venus-market/network" "github.com/filecoin-project/venus-market/paychmgr" - "github.com/filecoin-project/venus-market/retrievaladapter" - "github.com/filecoin-project/venus-market/storageadapter" + "github.com/filecoin-project/venus-market/retrievalprovider" + "github.com/filecoin-project/venus-market/storageprovider" marketevents "github.com/filecoin-project/venus-market/utils" "github.com/filecoin-project/venus/app/client/apiface" @@ -123,7 +123,7 @@ func NewClientGraphsyncDataTransfer(lc fx.Lifecycle, h host.Host, gs network.Gra // StorageBlockstoreAccessor returns the default storage blockstore accessor // from the import manager. func StorageBlockstoreAccessor(importmgr ClientImportMgr) storagemarket.BlockstoreAccessor { - return storageadapter.NewImportsBlockstoreAccessor(importmgr) + return storageprovider.NewImportsBlockstoreAccessor(importmgr) } // RetrievalBlockstoreAccessor returns the default retrieval blockstore accessor @@ -133,7 +133,7 @@ func RetrievalBlockstoreAccessor(r *config.HomeDir) (retrievalmarket.BlockstoreA if err := os.MkdirAll(dir, 0755); err != nil { return nil, xerrors.Errorf("failed to create directory %s: %w", dir, err) } - return retrievaladapter.NewCARBlockstoreAccessor(dir), nil + return retrievalprovider.NewCARBlockstoreAccessor(dir), nil } func StorageClient(lc fx.Lifecycle, h host.Host, dataTransfer network.ClientDataTransfer, discovery *discoveryimpl.Local, @@ -168,7 +168,7 @@ func StorageClient(lc fx.Lifecycle, h host.Host, dataTransfer network.ClientData func RetrievalClient(lc fx.Lifecycle, h host.Host, dt network.ClientDataTransfer, payAPI *paychmgr.PaychAPI, resolver discovery.PeerResolver, ds badger.RetrievalClientDS, fullApi apiface.FullNode, accessor retrievalmarket.BlockstoreAccessor, j journal.Journal) (retrievalmarket.RetrievalClient, error) { - adapter := retrievaladapter.NewRetrievalClientNode(payAPI, fullApi) + adapter := retrievalprovider.NewRetrievalClientNode(payAPI, fullApi) libP2pHost := rmnet.NewFromLibp2pHost(h) client, err := retrievalimpl.NewClient(libP2pHost, dt, adapter, resolver, ds, accessor) if err != nil { diff --git a/cmd/market-client/main.go b/cmd/market-client/main.go index 5bf9a67e..b0cefb08 100644 --- a/cmd/market-client/main.go +++ b/cmd/market-client/main.go @@ -21,7 +21,7 @@ import ( "github.com/filecoin-project/venus-market/network" "github.com/filecoin-project/venus-market/paychmgr" "github.com/filecoin-project/venus-market/rpc" - "github.com/filecoin-project/venus-market/storageadapter" + "github.com/filecoin-project/venus-market/storageprovider" "github.com/filecoin-project/venus-market/types" "github.com/filecoin-project/venus-market/utils" "github.com/filecoin-project/venus/pkg/constants" @@ -163,7 +163,7 @@ func marketClient(cctx *cli.Context) error { network.NetworkOpts(false, cfg.SimultaneousTransfers), paychmgr.PaychOpts, fundmgr.FundMgrOpts, - storageadapter.StorageClientOpts, + storageprovider.StorageClientOpts, client.MarketClientOpts, func(s *builder.Settings) error { s.Invokes[ExtractApiKey] = builder.InvokeOption{ diff --git a/cmd/venus-market/main.go b/cmd/venus-market/main.go index c504bd9d..d85d8f2c 100644 --- a/cmd/venus-market/main.go +++ b/cmd/venus-market/main.go @@ -20,10 +20,10 @@ import ( "github.com/filecoin-project/venus-market/metrics" "github.com/filecoin-project/venus-market/network" "github.com/filecoin-project/venus-market/paychmgr" - "github.com/filecoin-project/venus-market/piece" - "github.com/filecoin-project/venus-market/retrievaladapter" + "github.com/filecoin-project/venus-market/piecestorage" + "github.com/filecoin-project/venus-market/retrievalprovider" "github.com/filecoin-project/venus-market/rpc" - "github.com/filecoin-project/venus-market/storageadapter" + "github.com/filecoin-project/venus-market/storageprovider" "github.com/filecoin-project/venus-market/types" "github.com/filecoin-project/venus-market/utils" "github.com/filecoin-project/venus/pkg/constants" @@ -190,13 +190,13 @@ func daemon(cctx *cli.Context) error { clients.ClientsOpts(true, &cfg.Messager, &cfg.Signer, &cfg.Mysql), models.DBOptions(true, &cfg.Mysql), network.NetworkOpts(true, cfg.SimultaneousTransfers), - piece.PieceOpts(cfg), + piecestorage.PieceStorageOpts(cfg), fundmgr.FundMgrOpts, dagstore.DagstoreOpts, paychmgr.PaychOpts, // Markets - storageadapter.StorageProviderOpts(cfg), - retrievaladapter.RetrievalProviderOpts(cfg), + storageprovider.StorageProviderOpts(cfg), + retrievalprovider.RetrievalProviderOpts(cfg), func(s *builder.Settings) error { s.Invokes[ExtractApiKey] = builder.InvokeOption{ diff --git a/dagstore/market_api.go b/dagstore/market_api.go index 750e33fb..9246bc4e 100644 --- a/dagstore/market_api.go +++ b/dagstore/market_api.go @@ -3,7 +3,7 @@ package dagstore import ( "context" "github.com/filecoin-project/venus-market/models/repo" - "github.com/filecoin-project/venus-market/piece" + "github.com/filecoin-project/venus-market/piecestorage" "io" "github.com/filecoin-project/dagstore/throttle" @@ -19,14 +19,14 @@ type MarketAPI interface { } type marketAPI struct { - pieceStorage piece.IPieceStorage + pieceStorage piecestorage.IPieceStorage pieceRepo repo.StorageDealRepo throttle throttle.Throttler } var _ MarketAPI = (*marketAPI)(nil) -func NewMinerAPI(repo repo.Repo, pieceStorage piece.IPieceStorage, concurrency int) MarketAPI { +func NewMinerAPI(repo repo.Repo, pieceStorage piecestorage.IPieceStorage, concurrency int) MarketAPI { return &marketAPI{ pieceRepo: repo.StorageDealRepo(), pieceStorage: pieceStorage, diff --git a/dagstore/modules.go b/dagstore/modules.go index 8b808781..6b1a54f7 100644 --- a/dagstore/modules.go +++ b/dagstore/modules.go @@ -7,7 +7,7 @@ import ( "github.com/filecoin-project/venus-market/builder" "github.com/filecoin-project/venus-market/config" "github.com/filecoin-project/venus-market/models/repo" - "github.com/filecoin-project/venus-market/piece" + "github.com/filecoin-project/venus-market/piecestorage" xerrors "github.com/pkg/errors" "go.uber.org/fx" "os" @@ -25,7 +25,7 @@ const ( ) // NewMinerAPI creates a new MarketAPI adaptor for the dagstore mounts. -func NewMarketAPI(lc fx.Lifecycle, r *config.DAGStoreConfig, repo repo.Repo, pieceStorage piece.IPieceStorage) (MarketAPI, error) { +func NewMarketAPI(lc fx.Lifecycle, r *config.DAGStoreConfig, repo repo.Repo, pieceStorage piecestorage.IPieceStorage) (MarketAPI, error) { mountApi := NewMinerAPI(repo, pieceStorage, r.MaxConcurrencyStorageCalls) lc.Append(fx.Hook{ OnStart: func(ctx context.Context) error { diff --git a/piece/modules.go b/piece/modules.go deleted file mode 100644 index 15354c34..00000000 --- a/piece/modules.go +++ /dev/null @@ -1,17 +0,0 @@ -package piece - -import ( - "github.com/filecoin-project/go-fil-markets/piecestore" - - "github.com/filecoin-project/venus-market/builder" - "github.com/filecoin-project/venus-market/config" -) - -var PieceOpts = func(cfg *config.MarketConfig) builder.Option { - return builder.Options( - //piece - builder.Override(new(IPieceStorage), NewPieceStorage), //save read piece data - builder.Override(new(DealAssiger), NewDealAssigner), - builder.Override(new(piecestore.PieceStore), builder.From(new(DealAssiger))), //save piece metadata(location) save to metadata /storagemarket - ) -} diff --git a/piece/filestore.go b/piecestorage/filestore.go similarity index 98% rename from piece/filestore.go rename to piecestorage/filestore.go index 01a25465..c36f927e 100644 --- a/piece/filestore.go +++ b/piecestorage/filestore.go @@ -1,4 +1,4 @@ -package piece +package piecestorage import ( "context" diff --git a/piecestorage/modules.go b/piecestorage/modules.go new file mode 100644 index 00000000..f879f6a9 --- /dev/null +++ b/piecestorage/modules.go @@ -0,0 +1,13 @@ +package piecestorage + +import ( + "github.com/filecoin-project/venus-market/builder" + "github.com/filecoin-project/venus-market/config" +) + +var PieceStorageOpts = func(cfg *config.MarketConfig) builder.Option { + return builder.Options( + //piece + builder.Override(new(IPieceStorage), NewPieceStorage), //save read piece data + ) +} diff --git a/piece/reader.go b/piecestorage/reader.go similarity index 99% rename from piece/reader.go rename to piecestorage/reader.go index 4cbbcd98..99e1413e 100644 --- a/piece/reader.go +++ b/piecestorage/reader.go @@ -1,4 +1,4 @@ -package piece +package piecestorage import ( "github.com/filecoin-project/venus-market/utils" diff --git a/piece/reader_test.go b/piecestorage/reader_test.go similarity index 97% rename from piece/reader_test.go rename to piecestorage/reader_test.go index a02eb2b0..d0a58fce 100644 --- a/piece/reader_test.go +++ b/piecestorage/reader_test.go @@ -1,4 +1,4 @@ -package piece +package piecestorage import ( "crypto/rand" diff --git a/retrievaladapter/ask_handler.go b/retrievalprovider/ask_handler.go similarity index 99% rename from retrievaladapter/ask_handler.go rename to retrievalprovider/ask_handler.go index 1907533c..055260b0 100644 --- a/retrievaladapter/ask_handler.go +++ b/retrievalprovider/ask_handler.go @@ -1,4 +1,4 @@ -package retrievaladapter +package retrievalprovider import ( "context" diff --git a/retrievaladapter/cli.go b/retrievalprovider/cli.go similarity index 98% rename from retrievaladapter/cli.go rename to retrievalprovider/cli.go index 9880247e..67c5b21d 100644 --- a/retrievaladapter/cli.go +++ b/retrievalprovider/cli.go @@ -1,4 +1,4 @@ -package retrievaladapter +package retrievalprovider import ( "bytes" diff --git a/retrievaladapter/client.go b/retrievalprovider/client.go similarity index 99% rename from retrievaladapter/client.go rename to retrievalprovider/client.go index 5d47bc38..035d0314 100644 --- a/retrievaladapter/client.go +++ b/retrievalprovider/client.go @@ -1,4 +1,4 @@ -package retrievaladapter +package retrievalprovider import ( "context" diff --git a/retrievaladapter/client_blockstore.go b/retrievalprovider/client_blockstore.go similarity index 98% rename from retrievaladapter/client_blockstore.go rename to retrievalprovider/client_blockstore.go index 84c75fdb..2ef53285 100644 --- a/retrievaladapter/client_blockstore.go +++ b/retrievalprovider/client_blockstore.go @@ -1,4 +1,4 @@ -package retrievaladapter +package retrievalprovider import ( "fmt" diff --git a/retrievaladapter/datatransfer_handler.go b/retrievalprovider/datatransfer_handler.go similarity index 99% rename from retrievaladapter/datatransfer_handler.go rename to retrievalprovider/datatransfer_handler.go index f3363ef4..3a21f1b6 100644 --- a/retrievaladapter/datatransfer_handler.go +++ b/retrievalprovider/datatransfer_handler.go @@ -1,4 +1,4 @@ -package retrievaladapter +package retrievalprovider import ( "context" diff --git a/retrievaladapter/lazyblockstore.go b/retrievalprovider/lazyblockstore.go similarity index 98% rename from retrievaladapter/lazyblockstore.go rename to retrievalprovider/lazyblockstore.go index 370c815c..1e8ae3b9 100644 --- a/retrievaladapter/lazyblockstore.go +++ b/retrievalprovider/lazyblockstore.go @@ -1,4 +1,4 @@ -package retrievaladapter +package retrievalprovider import ( "context" diff --git a/retrievaladapter/lazyblockstore_test.go b/retrievalprovider/lazyblockstore_test.go similarity index 99% rename from retrievaladapter/lazyblockstore_test.go rename to retrievalprovider/lazyblockstore_test.go index e77e419f..c83ea661 100644 --- a/retrievaladapter/lazyblockstore_test.go +++ b/retrievalprovider/lazyblockstore_test.go @@ -1,4 +1,4 @@ -package retrievaladapter +package retrievalprovider import ( "context" diff --git a/retrievaladapter/modules.go b/retrievalprovider/modules.go similarity index 99% rename from retrievaladapter/modules.go rename to retrievalprovider/modules.go index 00a9ed3a..1b4e63ad 100644 --- a/retrievaladapter/modules.go +++ b/retrievalprovider/modules.go @@ -1,4 +1,4 @@ -package retrievaladapter +package retrievalprovider import ( "context" diff --git a/retrievaladapter/piecestore.go b/retrievalprovider/piecestore.go similarity index 98% rename from retrievaladapter/piecestore.go rename to retrievalprovider/piecestore.go index 74fcc01a..4ea6cff6 100644 --- a/retrievaladapter/piecestore.go +++ b/retrievalprovider/piecestore.go @@ -1,4 +1,4 @@ -package retrievaladapter +package retrievalprovider import ( "context" diff --git a/retrievaladapter/provider.go b/retrievalprovider/provider.go similarity index 99% rename from retrievaladapter/provider.go rename to retrievalprovider/provider.go index cce0b2fd..fed5fa5c 100644 --- a/retrievaladapter/provider.go +++ b/retrievalprovider/provider.go @@ -1,4 +1,4 @@ -package retrievaladapter +package retrievalprovider import ( "context" diff --git a/retrievaladapter/provider_datatransfer_sub.go b/retrievalprovider/provider_datatransfer_sub.go similarity index 99% rename from retrievaladapter/provider_datatransfer_sub.go rename to retrievalprovider/provider_datatransfer_sub.go index b3ecc573..11cf728a 100644 --- a/retrievaladapter/provider_datatransfer_sub.go +++ b/retrievalprovider/provider_datatransfer_sub.go @@ -1,4 +1,4 @@ -package retrievaladapter +package retrievalprovider import ( "context" diff --git a/retrievaladapter/provider_environments.go b/retrievalprovider/provider_environments.go similarity index 99% rename from retrievaladapter/provider_environments.go rename to retrievalprovider/provider_environments.go index 9e0f3c0d..e0333d9b 100644 --- a/retrievaladapter/provider_environments.go +++ b/retrievalprovider/provider_environments.go @@ -1,4 +1,4 @@ -package retrievaladapter +package retrievalprovider import ( "context" diff --git a/retrievaladapter/providerv2.go b/retrievalprovider/providerv2.go similarity index 99% rename from retrievaladapter/providerv2.go rename to retrievalprovider/providerv2.go index 14c2cc75..3e18a6ab 100644 --- a/retrievaladapter/providerv2.go +++ b/retrievalprovider/providerv2.go @@ -1,4 +1,4 @@ -package retrievaladapter +package retrievalprovider import ( "context" diff --git a/retrievaladapter/requestvalidation.go b/retrievalprovider/requestvalidation.go similarity index 99% rename from retrievaladapter/requestvalidation.go rename to retrievalprovider/requestvalidation.go index 04184e7f..b9cd33c5 100644 --- a/retrievaladapter/requestvalidation.go +++ b/retrievalprovider/requestvalidation.go @@ -1,4 +1,4 @@ -package retrievaladapter +package retrievalprovider import ( "bytes" diff --git a/retrievaladapter/retrieval_handler.go b/retrievalprovider/retrieval_handler.go similarity index 99% rename from retrievaladapter/retrieval_handler.go rename to retrievalprovider/retrieval_handler.go index 81621e3a..5d0f0ef2 100644 --- a/retrievaladapter/retrieval_handler.go +++ b/retrievalprovider/retrieval_handler.go @@ -1,4 +1,4 @@ -package retrievaladapter +package retrievalprovider import ( "context" diff --git a/retrievaladapter/revalidator.go b/retrievalprovider/revalidator.go similarity index 99% rename from retrievaladapter/revalidator.go rename to retrievalprovider/revalidator.go index bd08bbaf..f7e8dba9 100644 --- a/retrievaladapter/revalidator.go +++ b/retrievalprovider/revalidator.go @@ -1,4 +1,4 @@ -package retrievaladapter +package retrievalprovider import ( "context" diff --git a/retrievaladapter/state_change.go b/retrievalprovider/state_change.go similarity index 98% rename from retrievaladapter/state_change.go rename to retrievalprovider/state_change.go index 9875ef04..d26839b1 100644 --- a/retrievaladapter/state_change.go +++ b/retrievalprovider/state_change.go @@ -1,4 +1,4 @@ -package retrievaladapter +package retrievalprovider import ( rm "github.com/filecoin-project/go-fil-markets/retrievalmarket" diff --git a/retrievaladapter/stream_handler.go b/retrievalprovider/stream_handler.go similarity index 99% rename from retrievaladapter/stream_handler.go rename to retrievalprovider/stream_handler.go index b9ad09a7..5f900bd3 100644 --- a/retrievaladapter/stream_handler.go +++ b/retrievalprovider/stream_handler.go @@ -1,4 +1,4 @@ -package retrievaladapter +package retrievalprovider import ( "context" diff --git a/storageadapter/address_select.go b/storageprovider/address_select.go similarity index 99% rename from storageadapter/address_select.go rename to storageprovider/address_select.go index 3eae6278..c6734441 100644 --- a/storageadapter/address_select.go +++ b/storageprovider/address_select.go @@ -1,4 +1,4 @@ -package storageadapter +package storageprovider import ( "context" diff --git a/storageadapter/api.go b/storageprovider/api.go similarity index 98% rename from storageadapter/api.go rename to storageprovider/api.go index e79ef110..ab77ec28 100644 --- a/storageadapter/api.go +++ b/storageprovider/api.go @@ -1,4 +1,4 @@ -package storageadapter +package storageprovider import ( "context" diff --git a/storageadapter/client.go b/storageprovider/client.go similarity index 99% rename from storageadapter/client.go rename to storageprovider/client.go index 844e145a..fc5d9469 100644 --- a/storageadapter/client.go +++ b/storageprovider/client.go @@ -1,4 +1,4 @@ -package storageadapter +package storageprovider // this file implements storagemarket.StorageClientNode diff --git a/storageadapter/client_blockstore.go b/storageprovider/client_blockstore.go similarity index 99% rename from storageadapter/client_blockstore.go rename to storageprovider/client_blockstore.go index e80600f9..667be032 100644 --- a/storageadapter/client_blockstore.go +++ b/storageprovider/client_blockstore.go @@ -1,4 +1,4 @@ -package storageadapter +package storageprovider import ( "sync" diff --git a/storageadapter/currentdealinfo.go b/storageprovider/currentdealinfo.go similarity index 99% rename from storageadapter/currentdealinfo.go rename to storageprovider/currentdealinfo.go index 48c1682e..63b7824f 100644 --- a/storageadapter/currentdealinfo.go +++ b/storageprovider/currentdealinfo.go @@ -1,4 +1,4 @@ -package storageadapter +package storageprovider import ( "bytes" diff --git a/storageadapter/datatransfersubscriber.go b/storageprovider/datatransfersubscriber.go similarity index 99% rename from storageadapter/datatransfersubscriber.go rename to storageprovider/datatransfersubscriber.go index 799e4be6..87d4a319 100644 --- a/storageadapter/datatransfersubscriber.go +++ b/storageprovider/datatransfersubscriber.go @@ -1,4 +1,4 @@ -package storageadapter +package storageprovider import ( "fmt" diff --git a/piece/piecestore.go b/storageprovider/deal_assigner.go similarity index 81% rename from piece/piecestore.go rename to storageprovider/deal_assigner.go index 121701c6..0d164e1a 100644 --- a/piece/piecestore.go +++ b/storageprovider/deal_assigner.go @@ -1,10 +1,9 @@ -package piece +package storageprovider import ( "context" "github.com/filecoin-project/go-address" - "github.com/ipfs/go-cid" - logging "github.com/ipfs/go-log/v2" + "github.com/filecoin-project/venus-market/types" "go.uber.org/fx" "golang.org/x/xerrors" "math" @@ -14,7 +13,6 @@ import ( "github.com/filecoin-project/go-commp-utils/zerocomm" "github.com/filecoin-project/go-fil-markets/piecestore" - "github.com/filecoin-project/go-fil-markets/shared" "github.com/filecoin-project/go-state-types/abi" "github.com/filecoin-project/go-state-types/big" @@ -24,17 +22,13 @@ import ( "github.com/filecoin-project/venus-market/models/repo" ) -var log = logging.Logger("piece") - type DealAssiger interface { MarkDealsAsPacking(ctx context.Context, miner address.Address, dealIDs []abi.DealID) error UpdateDealOnPacking(ctx context.Context, miner address.Address, dealID abi.DealID, sectorid abi.SectorNumber, offset abi.PaddedPieceSize) error UpdateDealStatus(ctx context.Context, miner address.Address, dealID abi.DealID, pieceStatus string) error - GetDeals(ctx context.Context, miner address.Address, pageIndex, pageSize int) ([]*DealInfo, error) - GetPieceInfo(pieceCID cid.Cid) (piecestore.PieceInfo, error) - ListPieceInfoKeys() ([]cid.Cid, error) - GetUnPackedDeals(ctx context.Context, miner address.Address, spec *GetDealSpec) ([]*DealInfoIncludePath, error) - AssignUnPackedDeals(ctx context.Context, miner address.Address, ssize abi.SectorSize, spec *GetDealSpec) ([]*DealInfoIncludePath, error) + GetDeals(ctx context.Context, miner address.Address, pageIndex, pageSize int) ([]*types.DealInfo, error) + GetUnPackedDeals(ctx context.Context, miner address.Address, spec *types.GetDealSpec) ([]*types.DealInfoIncludePath, error) + AssignUnPackedDeals(ctx context.Context, miner address.Address, ssize abi.SectorSize, spec *types.GetDealSpec) ([]*types.DealInfoIncludePath, error) } var _ DealAssiger = (*dealAssigner)(nil) @@ -63,35 +57,6 @@ func newPieceStoreEx(pieceStorage *config.PieceStorageString, storageDealRepo re }, nil } -func (ps *dealAssigner) Start(ctx context.Context) error { - return nil -} - -func (ps *dealAssigner) OnReady(ready shared.ReadyFunc) { - ready(nil) -} - -// Store `dealInfo` in the dealAssigner with key `pieceCID`. -// piece的存取改为从StorageDealRepo获取 -func (ps *dealAssigner) AddDealForPiece(pieceCID cid.Cid, dealInfo piecestore.DealInfo) error { - - return nil -} - -// Retrieve the PieceInfo associated with `pieceCID` from the piece info store. -func (ps *dealAssigner) GetPieceInfo(pieceCID cid.Cid) (piecestore.PieceInfo, error) { - pi, err := ps.StorageDealRepo.GetPieceInfo(pieceCID) - if err != nil { - return piecestore.PieceInfo{}, err - } - - return *pi, err -} - -func (ps *dealAssigner) ListPieceInfoKeys() ([]cid.Cid, error) { - return ps.StorageDealRepo.ListPieceInfoKeys() -} - func (ps *dealAssigner) MarkDealsAsPacking(ctx context.Context, miner address.Address, dealIDs []abi.DealID) error { for _, dealID := range dealIDs { md, err := ps.StorageDealRepo.GetDealByDealID(miner, dealID) @@ -100,7 +65,7 @@ func (ps *dealAssigner) MarkDealsAsPacking(ctx context.Context, miner address.Ad return xerrors.Errorf("failed to get deal %d for miner %s: %w", dealID, miner.String(), err) } - md.PieceStatus = Assigned + md.PieceStatus = types.Assigned if err := ps.StorageDealRepo.SaveDeal(md); err != nil { return xerrors.Errorf("failed to update deal %d piece status for miner %s: %w", dealID, miner.String(), err) } @@ -117,7 +82,7 @@ func (ps *dealAssigner) UpdateDealOnPacking(ctx context.Context, miner address.A return xerrors.Errorf("failed to get deal %d for miner %s: %w", dealID, miner.String(), err) } - md.PieceStatus = Assigned + md.PieceStatus = types.Assigned md.Offset = offset md.SectorNumber = sectorID if err := ps.StorageDealRepo.SaveDeal(md); err != nil { @@ -143,8 +108,8 @@ func (ps *dealAssigner) UpdateDealStatus(ctx context.Context, miner address.Addr return nil } -func (ps *dealAssigner) GetDeals(ctx context.Context, mAddr address.Address, pageIndex, pageSize int) ([]*DealInfo, error) { - var dis []*DealInfo +func (ps *dealAssigner) GetDeals(ctx context.Context, mAddr address.Address, pageIndex, pageSize int) ([]*types.DealInfo, error) { + var dis []*types.DealInfo mds, err := ps.StorageDealRepo.GetDeals(mAddr, pageIndex, pageSize) if err != nil { @@ -152,7 +117,7 @@ func (ps *dealAssigner) GetDeals(ctx context.Context, mAddr address.Address, pag } for _, md := range mds { - dis = append(dis, &DealInfo{ + dis = append(dis, &types.DealInfo{ DealInfo: piecestore.DealInfo{ DealID: md.DealID, SectorID: md.SectorNumber, @@ -171,12 +136,12 @@ func (ps *dealAssigner) GetDeals(ctx context.Context, mAddr address.Address, pag } var defaultMaxPiece = 10 -var defaultGetDealSpec = &GetDealSpec{ +var defaultGetDealSpec = &types.GetDealSpec{ MaxPiece: defaultMaxPiece, MaxPieceSize: 0, } -func (ps *dealAssigner) GetUnPackedDeals(ctx context.Context, miner address.Address, spec *GetDealSpec) ([]*DealInfoIncludePath, error) { +func (ps *dealAssigner) GetUnPackedDeals(ctx context.Context, miner address.Address, spec *types.GetDealSpec) ([]*types.DealInfoIncludePath, error) { if spec == nil { spec = defaultGetDealSpec } @@ -184,19 +149,19 @@ func (ps *dealAssigner) GetUnPackedDeals(ctx context.Context, miner address.Addr spec.MaxPiece = defaultMaxPiece } - mds, err := ps.StorageDealRepo.GetDealsByPieceStatus(miner, Undefine) + mds, err := ps.StorageDealRepo.GetDealsByPieceStatus(miner, types.Undefine) if err != nil { return nil, err } var ( - result []*DealInfoIncludePath + result []*types.DealInfoIncludePath numberPiece int curPieceSize uint64 ) for _, md := range mds { if uint64(md.Length)+curPieceSize < spec.MaxPieceSize && numberPiece+1 < spec.MaxPiece { - result = append(result, &DealInfoIncludePath{ + result = append(result, &types.DealInfoIncludePath{ DealProposal: md.Proposal, Offset: md.Offset, Length: md.Length, @@ -206,7 +171,7 @@ func (ps *dealAssigner) GetUnPackedDeals(ctx context.Context, miner address.Addr FastRetrieval: md.FastRetrieval, PublishCid: *md.PublishCid, }) - md.PieceStatus = Assigned + md.PieceStatus = types.Assigned if err := ps.StorageDealRepo.SaveDeal(md); err != nil { return nil, err } @@ -219,8 +184,8 @@ func (ps *dealAssigner) GetUnPackedDeals(ctx context.Context, miner address.Addr return result, nil } -func (ps *dealAssigner) AssignUnPackedDeals(ctx context.Context, miner address.Address, ssize abi.SectorSize, spec *GetDealSpec) ([]*DealInfoIncludePath, error) { - deals, err := ps.GetUnPackedDeals(ctx, miner, &GetDealSpec{MaxPiece: math.MaxInt32}) //TODO get all pending deals ??? +func (ps *dealAssigner) AssignUnPackedDeals(ctx context.Context, miner address.Address, ssize abi.SectorSize, spec *types.GetDealSpec) ([]*types.DealInfoIncludePath, error) { + deals, err := ps.GetUnPackedDeals(ctx, miner, &types.GetDealSpec{MaxPiece: math.MaxInt32}) //TODO get all pending deals ??? if err != nil { return nil, err } @@ -243,7 +208,7 @@ func (ps *dealAssigner) AssignUnPackedDeals(ctx context.Context, miner address.A return left.StoragePricePerEpoch.GreaterThan(right.StoragePricePerEpoch) }) - dealsBySize := [][]*DealInfoIncludePath{} + dealsBySize := [][]*types.DealInfoIncludePath{} dealSizeIdxMap := map[abi.UnpaddedPieceSize]int{} // 按尺寸分组 @@ -256,7 +221,7 @@ func (ps *dealAssigner) AssignUnPackedDeals(ctx context.Context, miner address.A length := len(dealsBySize) if length == 0 { - dealsBySize = append(dealsBySize, []*DealInfoIncludePath{deal}) + dealsBySize = append(dealsBySize, []*types.DealInfoIncludePath{deal}) dealSizeIdxMap[deal.PieceSize.Unpadded()] = length continue } @@ -264,7 +229,7 @@ func (ps *dealAssigner) AssignUnPackedDeals(ctx context.Context, miner address.A last := length - 1 if deal.PieceSize.Unpadded() != dealsBySize[last][0].PieceSize.Unpadded() { - dealsBySize = append(dealsBySize, []*DealInfoIncludePath{deal}) + dealsBySize = append(dealsBySize, []*types.DealInfoIncludePath{deal}) dealSizeIdxMap[deal.PieceSize.Unpadded()] = length continue } @@ -293,7 +258,7 @@ func (ps *dealAssigner) AssignUnPackedDeals(ctx context.Context, miner address.A dlog.Info("init combined deals") combined := &CombinedPieces{ - Pieces: []*DealInfoIncludePath{first}, + Pieces: []*types.DealInfoIncludePath{first}, DealIDs: []abi.DealID{first.DealID}, MinStart: first.StartEpoch, PriceTotal: first.TotalStorageFee, @@ -301,7 +266,7 @@ func (ps *dealAssigner) AssignUnPackedDeals(ctx context.Context, miner address.A // 遍历所有填充尺寸 for i, fsize := range fillers { - var dealOfFsize *DealInfoIncludePath + var dealOfFsize *types.DealInfoIncludePath // 如果允许填充更多订单, 尝试找出当前填充尺寸对应的下一个订单 if len(combined.DealIDs) < spec.MaxPiece { @@ -313,7 +278,7 @@ func (ps *dealAssigner) AssignUnPackedDeals(ctx context.Context, miner address.A // 填充 全0 piece if dealOfFsize == nil { - combined.Pieces = append(combined.Pieces, &DealInfoIncludePath{ + combined.Pieces = append(combined.Pieces, &types.DealInfoIncludePath{ DealProposal: market2.DealProposal{ PieceSize: fsize.Padded(), PieceCID: zerocomm.ZeroPieceCommitment(fsize), @@ -346,7 +311,7 @@ func (ps *dealAssigner) AssignUnPackedDeals(ctx context.Context, miner address.A return combinedAll[i].PriceTotal.GreaterThan(combinedAll[j].PriceTotal) }) - pieces := []*DealInfoIncludePath{} + pieces := []*types.DealInfoIncludePath{} for _, cp := range combinedAll { pieces = append(pieces, cp.Pieces...) @@ -358,7 +323,7 @@ func (ps *dealAssigner) AssignUnPackedDeals(ctx context.Context, miner address.A return nil, err } - md.PieceStatus = Assigned + md.PieceStatus = types.Assigned if err := ps.StorageDealRepo.SaveDeal(md); err != nil { return nil, err } @@ -403,7 +368,7 @@ func fillersFromRem(in abi.UnpaddedPieceSize) ([]abi.UnpaddedPieceSize, error) { } type CombinedPieces struct { - Pieces []*DealInfoIncludePath + Pieces []*types.DealInfoIncludePath DealIDs []abi.DealID MinStart abi.ChainEpoch PriceTotal abi.TokenAmount diff --git a/storageadapter/deal_proposer.go b/storageprovider/deal_proposer.go similarity index 99% rename from storageadapter/deal_proposer.go rename to storageprovider/deal_proposer.go index 014afb5d..14c41094 100644 --- a/storageadapter/deal_proposer.go +++ b/storageprovider/deal_proposer.go @@ -1,4 +1,4 @@ -package storageadapter +package storageprovider import ( "context" @@ -35,7 +35,7 @@ import ( minermgr2 "github.com/filecoin-project/venus-market/minermgr" "github.com/filecoin-project/venus-market/models/repo" network2 "github.com/filecoin-project/venus-market/network" - "github.com/filecoin-project/venus-market/piece" + "github.com/filecoin-project/venus-market/piecestorage" "github.com/filecoin-project/venus-market/types" ) @@ -65,7 +65,7 @@ type StorageDealProcessImpl struct { dagStore stores.DAGStoreWrapper // TODO:检查是否遗漏 minerMgr minermgr2.IMinerMgr - pieceStorage piece.IPieceStorage + pieceStorage piecestorage.IPieceStorage } // NewStorageDealProcessImpl returns a new deal process instance @@ -78,7 +78,7 @@ func NewStorageDealProcessImpl( fs filestore.FileStore, minerMgr minermgr2.IMinerMgr, repo repo.Repo, - pieceStorage piece.IPieceStorage, + pieceStorage piecestorage.IPieceStorage, dataTransfer network2.ProviderDataTransfer, dagStore stores.DAGStoreWrapper, ) (StorageDealProcess, error) { diff --git a/storageadapter/dealpublisher.go b/storageprovider/dealpublisher.go similarity index 99% rename from storageadapter/dealpublisher.go rename to storageprovider/dealpublisher.go index 316c97f0..2164810b 100644 --- a/storageadapter/dealpublisher.go +++ b/storageprovider/dealpublisher.go @@ -1,4 +1,4 @@ -package storageadapter +package storageprovider import ( "context" diff --git a/storageadapter/dealstatematcher.go b/storageprovider/dealstatematcher.go similarity index 99% rename from storageadapter/dealstatematcher.go rename to storageprovider/dealstatematcher.go index f2f99719..bf739f64 100644 --- a/storageadapter/dealstatematcher.go +++ b/storageprovider/dealstatematcher.go @@ -1,4 +1,4 @@ -package storageadapter +package storageprovider import ( "context" diff --git a/storageadapter/handle_datatransfer.go b/storageprovider/handle_datatransfer.go similarity index 99% rename from storageadapter/handle_datatransfer.go rename to storageprovider/handle_datatransfer.go index 30c512da..c7efc068 100644 --- a/storageadapter/handle_datatransfer.go +++ b/storageprovider/handle_datatransfer.go @@ -1,4 +1,4 @@ -package storageadapter +package storageprovider import ( "context" diff --git a/storageadapter/modules.go b/storageprovider/modules.go similarity index 99% rename from storageadapter/modules.go rename to storageprovider/modules.go index f115a71a..c42d0f89 100644 --- a/storageadapter/modules.go +++ b/storageprovider/modules.go @@ -1,4 +1,4 @@ -package storageadapter +package storageprovider import ( "context" @@ -200,6 +200,7 @@ var StorageProviderOpts = func(cfg *config.MarketConfig) builder.Option { ), builder.Override(new(*DealPublisher), NewDealPublisher(cfg)), builder.Override(new(StorageProviderNode), NewProviderNodeAdapter(cfg)), + builder.Override(new(DealAssiger), NewDealAssigner), ) } diff --git a/storageadapter/ondealsectorcommitted.go b/storageprovider/ondealsectorcommitted.go similarity index 99% rename from storageadapter/ondealsectorcommitted.go rename to storageprovider/ondealsectorcommitted.go index 8559dcdd..977a6ab9 100644 --- a/storageadapter/ondealsectorcommitted.go +++ b/storageprovider/ondealsectorcommitted.go @@ -1,4 +1,4 @@ -package storageadapter +package storageprovider import ( "bytes" diff --git a/storageadapter/peer_tagger.go b/storageprovider/peer_tagger.go similarity index 94% rename from storageadapter/peer_tagger.go rename to storageprovider/peer_tagger.go index 3bde0fcd..ce394acc 100644 --- a/storageadapter/peer_tagger.go +++ b/storageprovider/peer_tagger.go @@ -1,4 +1,4 @@ -package storageadapter +package storageprovider import ( "github.com/filecoin-project/go-fil-markets/storagemarket/network" diff --git a/storageadapter/provider.go b/storageprovider/provider.go similarity index 98% rename from storageadapter/provider.go rename to storageprovider/provider.go index ea1a9a20..dc175855 100644 --- a/storageadapter/provider.go +++ b/storageprovider/provider.go @@ -1,4 +1,4 @@ -package storageadapter +package storageprovider // this file implements storagemarket.StorageProviderNode @@ -33,7 +33,6 @@ import ( "github.com/filecoin-project/venus-market/config" "github.com/filecoin-project/venus-market/fundmgr" "github.com/filecoin-project/venus-market/metrics" - "github.com/filecoin-project/venus-market/piece" types2 "github.com/filecoin-project/venus-market/types" "github.com/filecoin-project/venus-market/utils" ) @@ -49,15 +48,15 @@ type ProviderNodeAdapter struct { dealPublisher *DealPublisher - extendPieceMeta piece.DealAssiger + extendPieceMeta DealAssiger addBalanceSpec *types.MessageSendSpec maxDealCollateralMultiplier uint64 dsMatcher *dealStateMatcher scMgr *SectorCommittedManager } -func NewProviderNodeAdapter(fc *config.MarketConfig) func(mctx metrics.MetricsCtx, lc fx.Lifecycle, node apiface.FullNode, dealPublisher *DealPublisher, fundMgr *fundmgr.FundManager, extendPieceMeta piece.DealAssiger) StorageProviderNode { - return func(mctx metrics.MetricsCtx, lc fx.Lifecycle, full apiface.FullNode, dealPublisher *DealPublisher, fundMgr *fundmgr.FundManager, extendPieceMeta piece.DealAssiger) StorageProviderNode { +func NewProviderNodeAdapter(fc *config.MarketConfig) func(mctx metrics.MetricsCtx, lc fx.Lifecycle, node apiface.FullNode, dealPublisher *DealPublisher, fundMgr *fundmgr.FundManager, extendPieceMeta DealAssiger) StorageProviderNode { + return func(mctx metrics.MetricsCtx, lc fx.Lifecycle, full apiface.FullNode, dealPublisher *DealPublisher, fundMgr *fundmgr.FundManager, extendPieceMeta DealAssiger) StorageProviderNode { ctx := metrics.LifecycleCtx(mctx, lc) ev, err := events.NewEvents(ctx, full) diff --git a/storageadapter/storage_ask.go b/storageprovider/storage_ask.go similarity index 99% rename from storageadapter/storage_ask.go rename to storageprovider/storage_ask.go index 19778d49..debc3d9e 100644 --- a/storageadapter/storage_ask.go +++ b/storageprovider/storage_ask.go @@ -1,4 +1,4 @@ -package storageadapter +package storageprovider import ( "context" diff --git a/storageadapter/storage_ask_test.go b/storageprovider/storage_ask_test.go similarity index 98% rename from storageadapter/storage_ask_test.go rename to storageprovider/storage_ask_test.go index 52127570..07da782a 100644 --- a/storageadapter/storage_ask_test.go +++ b/storageprovider/storage_ask_test.go @@ -1,4 +1,4 @@ -package storageadapter +package storageprovider import ( "os" diff --git a/storageadapter/storageprovider.go b/storageprovider/storageprovider.go similarity index 99% rename from storageadapter/storageprovider.go rename to storageprovider/storageprovider.go index 54e65fce..1bf3ae0e 100644 --- a/storageadapter/storageprovider.go +++ b/storageprovider/storageprovider.go @@ -1,4 +1,4 @@ -package storageadapter +package storageprovider import ( "context" @@ -31,7 +31,7 @@ import ( "github.com/filecoin-project/venus-market/minermgr" "github.com/filecoin-project/venus-market/models/repo" "github.com/filecoin-project/venus-market/network" - "github.com/filecoin-project/venus-market/piece" + "github.com/filecoin-project/venus-market/piecestorage" "github.com/filecoin-project/venus-market/types" ) @@ -112,7 +112,7 @@ func NewStorageProviderV2( storedAsk IStorageAsk, h host.Host, homeDir *config.HomeDir, - pieceStorage piece.IPieceStorage, + pieceStorage piecestorage.IPieceStorage, dataTransfer network.ProviderDataTransfer, spn StorageProviderNode, dagStore stores.DAGStoreWrapper, diff --git a/storageadapter/stream.go b/storageprovider/stream.go similarity index 99% rename from storageadapter/stream.go rename to storageprovider/stream.go index 47765ff1..dae0ae94 100644 --- a/storageadapter/stream.go +++ b/storageprovider/stream.go @@ -1,4 +1,4 @@ -package storageadapter +package storageprovider import ( "context" diff --git a/storageadapter/transportconfigurer.go b/storageprovider/transportconfigurer.go similarity index 97% rename from storageadapter/transportconfigurer.go rename to storageprovider/transportconfigurer.go index a9db8c2f..5b4136fd 100644 --- a/storageadapter/transportconfigurer.go +++ b/storageprovider/transportconfigurer.go @@ -1,4 +1,4 @@ -package storageadapter +package storageprovider import ( "github.com/ipfs/go-cid" diff --git a/piece/types.go b/types/assigner_types.go similarity index 98% rename from piece/types.go rename to types/assigner_types.go index 61320179..a51b2e8c 100644 --- a/piece/types.go +++ b/types/assigner_types.go @@ -1,4 +1,4 @@ -package piece +package types import ( "github.com/ipfs/go-cid"