Versions in this module Expand all Collapse all v0 v0.2.2 May 8, 2026 v0.2.1 May 6, 2026 v0.2.0 May 4, 2026 Changes in this version + const DefaultHTTPTimeout + const DefaultMaxRetries + const DefaultUserAgent + const MaxControlResponseBytes + var ErrLocationHeader = errors.New("pdp: missing or invalid Location header") + var ErrPieceNotFound = errors.New("pdp: piece not found") + var ErrPieceProcessing = errors.New("pdp: piece still processing") + var ErrPullFailed = errors.New("pdp: pull failed") + var ErrStillPending = errors.New("pdp: still pending") + var ErrTxRejected = errors.New("pdp: transaction rejected") + type AddPieceInput struct + PieceCID cid.Cid + type AddPiecesResult struct + StatusURL string + TxHash common.Hash + type AddPiecesStatus struct + AddMessageOK *bool + ConfirmedPieceIDs []types.BigInt + DataSetID types.BigInt + PieceCount int + PiecesAdded bool + TxHash common.Hash + TxStatus string + type Client struct + func New(serviceURL string, opts ...Option) (*Client, error) + func (c *Client) AddPieces(ctx context.Context, dataSetID types.BigInt, pieces []AddPieceInput, ...) (*AddPiecesResult, error) + func (c *Client) BaseURL() *url.URL + func (c *Client) CreateDataSet(ctx context.Context, recordKeeper common.Address, extraData []byte) (*CreateDataSetResult, error) + func (c *Client) CreateDataSetAndAddPieces(ctx context.Context, recordKeeper common.Address, pieces []AddPieceInput, ...) (*CreateDataSetResult, error) + func (c *Client) DownloadPiece(ctx context.Context, pieceCID cid.Cid) (io.ReadCloser, int64, error) + func (c *Client) FindPiece(ctx context.Context, pieceCID cid.Cid) (*FindPieceResult, error) + func (c *Client) GetAddPiecesStatus(ctx context.Context, statusURL string) (*AddPiecesStatus, error) + func (c *Client) GetDataSet(ctx context.Context, dataSetID types.BigInt) (*DataSet, error) + func (c *Client) GetDataSetCreationStatus(ctx context.Context, statusURL string) (*CreateDataSetStatus, error) + func (c *Client) Ping(ctx context.Context) error + func (c *Client) PullPieces(ctx context.Context, req PullRequest) (*PullResult, error) + func (c *Client) SchedulePieceDeletion(ctx context.Context, dataSetID, pieceID types.BigInt, extraData []byte) (common.Hash, error) + func (c *Client) UploadPieceStreaming(ctx context.Context, data io.Reader, opts UploadPieceStreamingOptions) (*UploadStreamingResult, error) + func (c *Client) WaitForCreateDataSetAndAddPieces(ctx context.Context, statusURL string, pollInterval time.Duration) (*AddPiecesStatus, error) + func (c *Client) WaitForDataSetCreated(ctx context.Context, statusURL string, pollInterval time.Duration) (*CreateDataSetStatus, error) + func (c *Client) WaitForPieceParked(ctx context.Context, pieceCID cid.Cid, pollInterval time.Duration) error + func (c *Client) WaitForPiecesAdded(ctx context.Context, statusURL string, pollInterval time.Duration) (*AddPiecesStatus, error) + func (c *Client) WaitForPullComplete(ctx context.Context, req PullRequest, pollInterval time.Duration, ...) (*PullResult, error) + type CreateDataSetRequest struct + ExtraData string + RecordKeeper common.Address + type CreateDataSetResult struct + StatusURL string + TxHash common.Hash + type CreateDataSetStatus struct + CreateMessageHash common.Hash + DataSetCreated bool + DataSetID *types.BigInt + OK *bool + Service string + TxStatus string + type DataSet struct + ID types.BigInt + NextChallengeEpoch int64 + Pieces []DataSetPiece + func (d *DataSet) UnmarshalJSON(data []byte) error + func (d DataSet) MarshalJSON() ([]byte, error) + type DataSetPiece struct + PieceCID string + PieceID types.BigInt + SubPieceCID string + SubPieceOffset uint64 + func (p *DataSetPiece) UnmarshalJSON(data []byte) error + func (p DataSetPiece) MarshalJSON() ([]byte, error) + type FindPieceResult struct + PieceCID string + type HTTPError struct + Body string + Method string + RetryAfter time.Duration + StatusCode int + URL string + func (e *HTTPError) Error() string + func (e *HTTPError) RedactedURL() string + type Option func(*Client) + func WithHTTPClient(h *http.Client) Option + func WithLogger(l *slog.Logger) Option + func WithMaxRetries(n int) Option + func WithUserAgent(ua string) Option + type PullPieceInput struct + PieceCID cid.Cid + SourceURL string + type PullPieceStatus struct + PieceCID string + Status PullStatus + type PullRequest struct + DataSetID *types.BigInt + ExtraData []byte + Pieces []PullPieceInput + RecordKeeper common.Address + type PullResult struct + Pieces []PullPieceStatus + Status PullStatus + type PullStatus string + const PullStatusComplete + const PullStatusFailed + const PullStatusInProgress + const PullStatusPending + const PullStatusRetrying + type UploadPieceStreamingOptions struct + OnProgress func(bytesUploaded int64) + PieceCID cid.Cid + Size int64 + type UploadStreamingResult struct + PieceCID cid.Cid + Size int64