Removed the restriction that transport updates have to be written in

delimited form.
This commit is contained in:
akwizgran
2011-08-14 11:41:56 +02:00
parent c2b0f0ab5a
commit 254da2da27
9 changed files with 119 additions and 46 deletions

View File

@@ -21,7 +21,7 @@ class SubscriptionWriterImpl implements SubscriptionWriter {
}
public void writeSubscriptions(Map<Group, Long> subs) throws IOException {
w.writeUserDefinedTag(Tags.SUBSCRIPTIONS);
w.writeUserDefinedTag(Tags.SUBSCRIPTION_UPDATE);
w.writeMap(subs);
w.writeInt64(System.currentTimeMillis());
out.flush();

View File

@@ -22,19 +22,14 @@ class TransportWriterImpl implements TransportWriter {
public void writeTransports(Map<String, Map<String, String>> transports)
throws IOException {
w.writeUserDefinedTag(Tags.TRANSPORTS);
// Transport maps are always written in delimited form
w.writeMapStart();
w.writeUserDefinedTag(Tags.TRANSPORT_UPDATE);
w.writeListStart();
for(Entry<String, Map<String, String>> e : transports.entrySet()) {
w.writeUserDefinedTag(Tags.TRANSPORT_PROPERTIES);
w.writeString(e.getKey());
w.writeMapStart();
for(Entry<String, String> e1 : e.getValue().entrySet()) {
w.writeString(e1.getKey());
w.writeString(e1.getValue());
}
w.writeMapEnd();
w.writeMap(e.getValue());
}
w.writeMapEnd();
w.writeListEnd();
w.writeInt64(System.currentTimeMillis());
out.flush();
}