diff options
Diffstat (limited to 'rrdformat/marshal_xml.go')
-rw-r--r-- | rrdformat/marshal_xml.go | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/rrdformat/marshal_xml.go b/rrdformat/marshal_xml.go index cb2db93..8e98d10 100644 --- a/rrdformat/marshal_xml.go +++ b/rrdformat/marshal_xml.go @@ -93,13 +93,14 @@ func (ds DSDef) marshalXML(rrd RRD, e *xml.Encoder, start xml.StartElement) erro if err := e.EncodeToken(start); err != nil { return err } + // 1. DS Common if err := e.EncodeElement(" "+ds.DSName+" ", xmlStart("name")); err != nil { return err } if err := e.EncodeElement(" "+ds.DSType+" ", xmlStart("type")); err != nil { return err } - + // 2. Parameters switch ds.DSType { case DST_CDEF: var rpnps []rrdbinary.RPNToken @@ -114,9 +115,25 @@ func (ds DSDef) marshalXML(rrd RRD, e *xml.Encoder, start xml.StartElement) erro return err } default: - + if err := e.EncodeElement(ds.Parameters[DSParam_MRHBCnt].AsULong(), xmlStart("minimal_heartbeat")); err != nil { + return err + } + if err := e.EncodeElement(ds.Parameters[DSParam_MinVal].AsDouble(), xmlStart("min")); err != nil { + return err + } + if err := e.EncodeElement(ds.Parameters[DSParam_MaxVal].AsDouble(), xmlStart("max")); err != nil { + return err + } } - + // 3. Comment + if err := e.EncodeToken(xml.CharData("\n\n")); err != nil { + return err + } + if err := e.EncodeToken(xml.Comment(" PDP Status ")); err != nil { + return err + } + // 4. TODO + // End if err := e.EncodeToken(start.End()); err != nil { return err } |