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
}
}