func (u *unionRing) Marshal() ([]byte, error) { var out models.Ring out.Version = uint32(u.Version()) out.Type = uint32(u.Type()) out.Attrs = make(map[string][]byte) b, err := u.oldRing.Marshal() if err != nil { return nil, err } out.Attrs["old"] = b b, err = u.newRing.Marshal() if err != nil { return nil, err } out.Attrs["new"] = b return out.Marshal() }