// MarshalBson bson-encodes SrvKeyspace. func (srvKeyspace *SrvKeyspace) MarshalBson(buf *bytes2.ChunkedWriter, key string) { bson.EncodeOptionalPrefix(buf, bson.Object, key) lenWriter := bson.NewLenWriter(buf) // map[TabletType]*KeyspacePartition { bson.EncodePrefix(buf, bson.Object, "Partitions") lenWriter := bson.NewLenWriter(buf) for _k, _v1 := range srvKeyspace.Partitions { // *KeyspacePartition if _v1 == nil { bson.EncodePrefix(buf, bson.Null, string(_k)) } else { (*_v1).MarshalBson(buf, string(_k)) } } lenWriter.Close() } bson.EncodeString(buf, "ShardingColumnName", srvKeyspace.ShardingColumnName) srvKeyspace.ShardingColumnType.MarshalBson(buf, "ShardingColumnType") // map[TabletType]string { bson.EncodePrefix(buf, bson.Object, "ServedFrom") lenWriter := bson.NewLenWriter(buf) for _k, _v2 := range srvKeyspace.ServedFrom { bson.EncodeString(buf, string(_k), _v2) } lenWriter.Close() } bson.EncodeInt32(buf, "SplitShardCount", srvKeyspace.SplitShardCount) lenWriter.Close() }
func (zkStat *ZkStat) MarshalBson(buf *bytes2.ChunkedWriter) { lenWriter := bson.NewLenWriter(buf) bson.EncodeInt64(buf, "Czxid", zkStat.czxid) bson.EncodeInt64(buf, "Mzxid", zkStat.mzxid) bson.EncodeTime(buf, "CTime", zkStat.cTime) bson.EncodeTime(buf, "MTime", zkStat.mTime) bson.EncodeInt32(buf, "Version", int32(zkStat.version)) bson.EncodeInt32(buf, "CVersion", int32(zkStat.cVersion)) bson.EncodeInt32(buf, "AVersion", int32(zkStat.aVersion)) bson.EncodeInt64(buf, "EphemeralOwner", zkStat.ephemeralOwner) bson.EncodeInt32(buf, "DataLength", int32(zkStat.dataLength)) bson.EncodeInt32(buf, "NumChildren", int32(zkStat.numChildren)) bson.EncodeInt64(buf, "Pzxid", zkStat.pzxid) buf.WriteByte(0) lenWriter.RecordLen() }
// MarshalBson bson-encodes MyType. func (myType *MyType) MarshalBson(buf *bytes2.ChunkedWriter, key string) { bson.EncodeOptionalPrefix(buf, bson.Object, key) lenWriter := bson.NewLenWriter(buf) bson.EncodeFloat64(buf, "Float64", myType.Float64) bson.EncodeString(buf, "String", myType.String) bson.EncodeBool(buf, "Bool", myType.Bool) bson.EncodeInt64(buf, "Int64", myType.Int64) bson.EncodeInt32(buf, "Int32", myType.Int32) bson.EncodeInt(buf, "Int", myType.Int) bson.EncodeUint64(buf, "Uint64", myType.Uint64) bson.EncodeUint32(buf, "Uint32", myType.Uint32) bson.EncodeUint(buf, "Uint", myType.Uint) bson.EncodeBinary(buf, "Bytes", myType.Bytes) bson.EncodeTime(buf, "Time", myType.Time) bson.EncodeInterface(buf, "Interface", myType.Interface) lenWriter.Close() }