private void PutString(string host) { int length = Encoding.UTF8.GetByteCount(host); if (length > 255) length = 255; PutNumber1((byte) length); Encoding.UTF8.GetBytes(host, 0, length, _buffer, _offset); _offset += length; }
internal void Write(ZreMsg m) { // Version m.PutNumber1(2); // Version // Sequence m.PutNumber2(Sequence); // Endpoint m.PutString(Endpoint); // Groups if (Groups != null) { m.PutNumber4((UInt32)Groups.Count); foreach (string s in Groups) { m.PutLongString(s); } } else { m.PutNumber4(0); // Empty string array } // Status m.PutNumber1(Status); // Name m.PutString(Name); // Headers if (Headers != null) { m.PutNumber4((UInt32)Headers.Count); foreach (var pair in Headers) { m.PutString(pair.Key); m.PutLongString(pair.Value); } } else { m.PutNumber4(0); // Empty dictionary } }