// Stat returns statistics on the node. func (n *Node) Stat() (*NodeStat, error) { enc, err := n.Encoded(false) if err != nil { return nil, err } cumSize, err := n.Size() if err != nil { return nil, err } key, err := n.Key() if err != nil { return nil, err } return &NodeStat{ Hash: key.B58String(), NumLinks: len(n.Links), BlockSize: len(enc), LinksSize: len(enc) - len(n.Data), // includes framing. DataSize: len(n.Data), CumulativeSize: int(cumSize), }, nil }
// KeyListTextMarshaler outputs a KeyList as plaintext, one key per line func KeyListTextMarshaler(res cmds.Response) (io.Reader, error) { output := res.Output().(*KeyList) buf := new(bytes.Buffer) for _, key := range output.Keys { buf.WriteString(key.B58String() + "\n") } return buf, nil }