public void Encode(IWritableBuffer bw) { // -- protos bw.WriteUnsignedShort(protosDict.Count); for (var iter = protosDict.GetEnumerator(); iter.MoveNext();) { bw.WriteShort(iter.Current.Key); iter.Current.Value.EncodeTo(bw); } // -- types bw.WriteUnsignedShort(typesCode.Count); for (var iter = typesCode.GetEnumerator(); iter.MoveNext();) { bw.WriteUTF8(iter.Current.Key); bw.WriteShort(iter.Current.Value); } }
public static void WriteUTF8(this IWritableBuffer bw, string str) { if (str != null) { using (var temp = ByteBuffer.Pool.Get()) { CodingUtil.DecodeUTF8(str, temp); bw.WriteUnsignedShort(temp.Length); bw.Write(temp.data, 0, temp.Length); } } else { bw.WriteShort(0); } }