@@ -19,37 +19,6 @@ class ObjectApi : IObjectApi
1919
2020 IpfsClient ipfs ;
2121
22- /// <summary>
23- /// TODO
24- /// </summary>
25- public class DagInfo
26- {
27- /// <summary>
28- /// TODO
29- /// </summary>
30- public string Hash { get ; set ; }
31- /// <summary>
32- /// TODO
33- /// </summary>
34- public int NumLinks { get ; set ; }
35- /// <summary>
36- /// TODO
37- /// </summary>
38- public long BlockSize { get ; set ; }
39- /// <summary>
40- /// TODO
41- /// </summary>
42- public long LinksSize { get ; set ; }
43- /// <summary>
44- /// TODO
45- /// </summary>
46- public long DataSize { get ; set ; }
47- /// <summary>
48- /// TODO
49- /// </summary>
50- public long CumulativeSize { get ; set ; }
51- }
52-
5322 internal ObjectApi ( IpfsClient ipfs )
5423 {
5524 this . ipfs = ipfs ;
@@ -95,21 +64,6 @@ internal ObjectApi(IpfsClient ipfs)
9564 return GetDagFromJson ( json ) . Links ;
9665 }
9766
98- /// <summary>
99- /// Get the statistics of a MerkleDAG node.
100- /// </summary>
101- /// <param name="id">
102- /// The <see cref="Cid"/> of the node.
103- /// </param>
104- /// <param name="cancel">
105- /// Is used to stop the task. When cancelled, the <see cref="TaskCanceledException"/> is raised.
106- /// </param>
107- /// <returns></returns>
108- public Task < DagInfo > StatAsync ( Cid id , CancellationToken cancel = default ( CancellationToken ) )
109- {
110- return ipfs . DoCommandAsync < DagInfo > ( "object/stat" , cancel , id ) ;
111- }
112-
11367 // TOOD: patch sub API
11468
11569 DagNode GetDagFromJson ( string json )
@@ -126,5 +80,20 @@ DagNode GetDagFromJson(string json)
12680 ( long ) link [ "Size" ] ) ) ;
12781 return new DagNode ( data , links ) ;
12882 }
83+
84+ public async Task < ObjectStat > StatAsync ( Cid id , CancellationToken cancel = default ( CancellationToken ) )
85+ {
86+ var json = await ipfs . DoCommandAsync ( "object/stat" , cancel , id ) ;
87+ var r = JObject . Parse ( json ) ;
88+
89+ return new ObjectStat
90+ {
91+ LinkCount = ( int ) r [ "NumLinks" ] ,
92+ LinkSize = ( long ) r [ "LinksSize" ] ,
93+ BlockSize = ( long ) r [ "BlockSize" ] ,
94+ DataSize = ( long ) r [ "DataSize" ] ,
95+ CumulativeSize = ( long ) r [ "CumulativeSize" ]
96+ } ;
97+ }
12998 }
13099}
0 commit comments