diff options
Diffstat (limited to 'rrdformat/format.go')
-rw-r--r-- | rrdformat/format.go | 47 |
1 files changed, 16 insertions, 31 deletions
diff --git a/rrdformat/format.go b/rrdformat/format.go index 8898ffd..f9b8504 100644 --- a/rrdformat/format.go +++ b/rrdformat/format.go @@ -1,9 +1,6 @@ package rrdformat import ( - //"encoding" - "encoding/xml" - "git.lukeshu.com/go/librrd/rrdformat/rrdbinary" ) @@ -66,11 +63,16 @@ type RRADef struct { PDPCnt rrdbinary.Uint } -type Time struct { +type TimeWithUsec struct { Sec rrdbinary.Time Usec rrdbinary.Int // signed, but always >= 0 } +type TimeWithoutUsec struct { + Sec rrdbinary.Time + Usec rrdbinary.Int `rrdbinary:"-"` +} + type PDPPrep struct { LastDS rrdbinary.String `rrdbinary:"size=30"` Scratch [10]rrdbinary.Unival @@ -91,11 +93,11 @@ type RRDv0003 struct { Header Header DSDefs []DSDef // .Header.DSCnt RRADefs []RRADef // .Header.RRACnt - LastUpdated Time - PDPPrep []PDPPrep // .Header.DSCnt - CDPPrep []CDPPrep // .Header.DSCnt * .Header.RRACnt - RRAPtr []RRAPtr // .Header.RRACnt - Values []RRDValue // Σ .RRADefs[i].RowCnt*.Header.DsCnt + LastUpdated TimeWithUsec + PDPPreps []PDPPrep // .Header.DSCnt + CDPPreps []CDPPrep // .Header.DSCnt * .Header.RRACnt + RRAPtrs []RRAPtr // .Header.RRACnt + Values []RRDValue // Σ .RRADefs[i].RowCnt*.Header.DSCnt } type RRDv0002 = RRDv0001 @@ -104,26 +106,9 @@ type RRDv0001 struct { Header Header DSDefs []DSDef // .Header.DSCnt RRADefs []RRADef // .Header.RRACnt - LastUpdated rrdbinary.Time - PDPPrep []PDPPrep // .Header.DSCnt - CDPPrep []CDPPrep // .Header.DSCnt * .Header.RRACnt - RRAPtr []RRAPtr // .Header.RRACnt - Values []RRDValue // Σ .RRADefs[i].RowCnt*.Header.DsCnt + LastUpdated TimeWithoutUsec + PDPPreps []PDPPrep // .Header.DSCnt + CDPPreps []CDPPrep // .Header.DSCnt * .Header.RRACnt + RRAPtrs []RRAPtr // .Header.RRACnt + Values []RRDValue // Σ .RRADefs[i].RowCnt*.Header.DSCnt } - -func (h *Header) MarshalXML(e *xml.Encoder, start xml.StartElement) error { - if err := e.EncodeElement(h.Version, xml.StartElement{Name: xml.Name{Local: "version", Space: XMLNS}}); err != nil { - return err - } - if err := e.EncodeElement(h.PDPStep, xml.StartElement{Name: xml.Name{Local: "step", Space: XMLNS}}); err != nil { - return err - } - return nil -} - -//var _ encoding.BinaryMarshaler = &Header{} -//var _ encoding.BinaryUnmarshaler = &Header{} - -var _ xml.Marshaler = &Header{} - -//var _ xml.Unmarshaler = &Header{} |