Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feat/configure start epoch buffer #171

Merged
merged 4 commits into from
Mar 27, 2020
Merged

Conversation

ingar
Copy link
Contributor

@ingar ingar commented Mar 25, 2020

Summary

Add a configurable DealAcceptanceBuffer, which can be used by storage providers to adjust how far in the future a deal's StartEpoch must be in order to be accepted. This is to account for time required for data transfer, deal publishing, sealing, committing, etc.

Resolves #139

return p.dealAcceptanceBuffer
}

func (p *Provider) UniversalRetrievalEnabled() bool {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is the value of these functions if they are not added to the StorageProvider interface type? Should they be? I'm not sure they should?

Oh, nm, you're using them for testing. Makes sense. +1

Copy link
Collaborator

@hannahhoward hannahhoward left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM with minor NB comment and I'd love to talk to you about the providerDealEnvironment question :)

@@ -339,4 +361,8 @@ func (p *providerDealEnvironment) Disconnect(proposalCid cid.Cid) error {
return p.p.conns.Disconnect(proposalCid)
}

func (p *providerDealEnvironment) DealAcceptanceBuffer() abi.ChainEpoch {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So I've gone back and forth a bunch on this, but I wonder if we should throw out the providerDealEnvironment and just make these methods on the Provider, cause we have the same aforementioned feature above -- the methods aren't accessible assuming you just have the storage provider interface. Non-blocking, but what do you think?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like implementing the interface on our provider impl; it would remove a bunch of indirection.

storagemarket/impl/provider.go Outdated Show resolved Hide resolved
@ingar ingar force-pushed the feat/configure-start-epoch-buffer branch from 2bcf854 to d510a39 Compare March 27, 2020 17:36
@ingar ingar merged commit a845406 into master Mar 27, 2020
@ingar ingar deleted the feat/configure-start-epoch-buffer branch April 20, 2020 16:50
@dirkmc dirkmc mentioned this pull request Mar 24, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Storage Provider Can Configure Minimum StartEpoch in future time
2 participants