diff --git a/commands/blob/cbor_gen.go b/commands/blob/cbor_gen.go index 0088c2a..95bd7b6 100644 --- a/commands/blob/cbor_gen.go +++ b/commands/blob/cbor_gen.go @@ -791,7 +791,23 @@ func (t *AcceptOK) MarshalCBOR(w io.Writer) error { cw := cbg.NewCborWriter(w) - if _, err := cw.Write([]byte{161}); err != nil { + if _, err := cw.Write([]byte{162}); err != nil { + return err + } + + // t.PDP (promise.AwaitOK) (struct) + if len("pdp") > 8192 { + return xerrors.Errorf("Value in field \"pdp\" was too long") + } + + if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("pdp"))); err != nil { + return err + } + if _, err := cw.WriteString(string("pdp")); err != nil { + return err + } + + if err := t.PDP.MarshalCBOR(cw); err != nil { return err } @@ -855,7 +871,17 @@ func (t *AcceptOK) UnmarshalCBOR(r io.Reader) (err error) { } switch string(nameBuf[:nameLen]) { - // t.Site (cid.Cid) (struct) + // t.PDP (promise.AwaitOK) (struct) + case "pdp": + + { + + if err := t.PDP.UnmarshalCBOR(cr); err != nil { + return xerrors.Errorf("unmarshaling t.PDP: %w", err) + } + + } + // t.Site (cid.Cid) (struct) case "site": { diff --git a/commands/blob/json_gen.go b/commands/blob/json_gen.go index da899c3..6535c6f 100644 --- a/commands/blob/json_gen.go +++ b/commands/blob/json_gen.go @@ -798,6 +798,27 @@ func (t *AcceptOK) MarshalDagJSON(w io.Writer) error { if err := jw.WriteObjectOpen(); err != nil { return err } + written := 0 + + // t.PDP (promise.AwaitOK) (struct) + if len("pdp") > 8192 { + return fmt.Errorf("string in field \"pdp\" was too long") + } + if err := jw.WriteString(string("pdp")); err != nil { + return fmt.Errorf("writing string for field \"pdp\": %w", err) + } + if err := jw.WriteObjectColon(); err != nil { + return err + } + if err := t.PDP.MarshalDagJSON(jw); err != nil { + return fmt.Errorf("marshaling field t.PDP: %w", err) + } + written++ + if written > 0 { + if err := jw.WriteComma(); err != nil { + return err + } + } // t.Site (cid.Cid) (struct) if len("site") > 8192 { @@ -814,6 +835,7 @@ func (t *AcceptOK) MarshalDagJSON(w io.Writer) error { return fmt.Errorf("writing CID for field t.Site: %w", err) } + written++ if err := jw.WriteObjectClose(); err != nil { return err } @@ -853,7 +875,14 @@ func (t *AcceptOK) UnmarshalDagJSON(r io.Reader) (err error) { } switch name { - // t.Site (cid.Cid) (struct) + // t.PDP (promise.AwaitOK) (struct) + case "pdp": + + if err := t.PDP.UnmarshalDagJSON(jr); err != nil { + return fmt.Errorf("unmarshaling t.PDP: %w", err) + } + + // t.Site (cid.Cid) (struct) case "site": { diff --git a/commands/blob/types.go b/commands/blob/types.go index 3dc5486..cbb8be5 100644 --- a/commands/blob/types.go +++ b/commands/blob/types.go @@ -29,6 +29,9 @@ type AcceptArguments struct { type AcceptOK struct { Site cid.Cid `cborgen:"site" dagjsongen:"site"` + // PDP is a promise of the `/pdp/accept` task result, which completes when + // the piece has been aggregated and root added to the node's PDP dataset. + PDP promise.AwaitOK `cborgen:"pdp" dagjsongen:"pdp"` } type AllocateArguments struct {