mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-17 21:29:54 +01:00
Remove BdfWriter methods for manually constructing lists and dicts.
This commit is contained in:
@@ -24,13 +24,5 @@ public interface BdfWriter {
|
|||||||
|
|
||||||
void writeList(Collection<?> c) throws IOException;
|
void writeList(Collection<?> c) throws IOException;
|
||||||
|
|
||||||
void writeListStart() throws IOException;
|
|
||||||
|
|
||||||
void writeListEnd() throws IOException;
|
|
||||||
|
|
||||||
void writeDictionary(Map<?, ?> m) throws IOException;
|
void writeDictionary(Map<?, ?> m) throws IOException;
|
||||||
|
|
||||||
void writeDictionaryStart() throws IOException;
|
|
||||||
|
|
||||||
void writeDictionaryEnd() throws IOException;
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -168,16 +168,6 @@ final class BdfWriterImpl implements BdfWriter {
|
|||||||
else throw new FormatException();
|
else throw new FormatException();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void writeListStart() throws IOException {
|
|
||||||
out.write(LIST);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void writeListEnd() throws IOException {
|
|
||||||
out.write(END);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void writeDictionary(Map<?, ?> m) throws IOException {
|
public void writeDictionary(Map<?, ?> m) throws IOException {
|
||||||
out.write(DICTIONARY);
|
out.write(DICTIONARY);
|
||||||
@@ -194,14 +184,4 @@ final class BdfWriterImpl implements BdfWriter {
|
|||||||
}
|
}
|
||||||
out.write(END);
|
out.write(END);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void writeDictionaryStart() throws IOException {
|
|
||||||
out.write(DICTIONARY);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void writeDictionaryEnd() throws IOException {
|
|
||||||
out.write(END);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package org.briarproject.bramble.keyagreement;
|
package org.briarproject.bramble.keyagreement;
|
||||||
|
|
||||||
|
import org.briarproject.bramble.api.data.BdfList;
|
||||||
import org.briarproject.bramble.api.data.BdfWriter;
|
import org.briarproject.bramble.api.data.BdfWriter;
|
||||||
import org.briarproject.bramble.api.data.BdfWriterFactory;
|
import org.briarproject.bramble.api.data.BdfWriterFactory;
|
||||||
import org.briarproject.bramble.api.keyagreement.Payload;
|
import org.briarproject.bramble.api.keyagreement.Payload;
|
||||||
@@ -32,13 +33,14 @@ class PayloadEncoderImpl implements PayloadEncoder {
|
|||||||
ByteArrayOutputStream out = new ByteArrayOutputStream();
|
ByteArrayOutputStream out = new ByteArrayOutputStream();
|
||||||
int formatIdAndVersion = (QR_FORMAT_ID << 5) | QR_FORMAT_VERSION;
|
int formatIdAndVersion = (QR_FORMAT_ID << 5) | QR_FORMAT_VERSION;
|
||||||
out.write(formatIdAndVersion);
|
out.write(formatIdAndVersion);
|
||||||
|
BdfList payload = new BdfList();
|
||||||
|
payload.add(p.getCommitment());
|
||||||
|
for (TransportDescriptor d : p.getTransportDescriptors()) {
|
||||||
|
payload.add(d.getDescriptor());
|
||||||
|
}
|
||||||
BdfWriter w = bdfWriterFactory.createWriter(out);
|
BdfWriter w = bdfWriterFactory.createWriter(out);
|
||||||
try {
|
try {
|
||||||
w.writeListStart(); // Payload start
|
w.writeList(payload);
|
||||||
w.writeRaw(p.getCommitment());
|
|
||||||
for (TransportDescriptor d : p.getTransportDescriptors())
|
|
||||||
w.writeList(d.getDescriptor());
|
|
||||||
w.writeListEnd(); // Payload end
|
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
// Shouldn't happen with ByteArrayOutputStream
|
// Shouldn't happen with ByteArrayOutputStream
|
||||||
throw new AssertionError(e);
|
throw new AssertionError(e);
|
||||||
|
|||||||
@@ -179,33 +179,6 @@ public class BdfWriterImplTest extends BrambleTestCase {
|
|||||||
"41" + "01" + "33" + "21" + "03" + "80");
|
"41" + "01" + "33" + "21" + "03" + "80");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testWriteDelimitedList() throws IOException {
|
|
||||||
w.writeListStart();
|
|
||||||
w.writeLong(1);
|
|
||||||
w.writeString("foo");
|
|
||||||
w.writeLong(128);
|
|
||||||
w.writeListEnd();
|
|
||||||
// LIST tag, 1 as integer, "foo" as string, 128 as integer, END tag
|
|
||||||
checkContents("60" + "21" + "01" +
|
|
||||||
"41" + "03" + "666F6F" +
|
|
||||||
"22" + "0080" + "80");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testWriteDelimitedDictionary() throws IOException {
|
|
||||||
w.writeDictionaryStart();
|
|
||||||
w.writeString("foo");
|
|
||||||
w.writeLong(123);
|
|
||||||
w.writeString("bar");
|
|
||||||
w.writeNull();
|
|
||||||
w.writeDictionaryEnd();
|
|
||||||
// DICTIONARY tag, "foo" as string, 123 as integer, "bar" as string,
|
|
||||||
// NULL tag, END tag
|
|
||||||
checkContents("70" + "41" + "03" + "666F6F" +
|
|
||||||
"21" + "7B" + "41" + "03" + "626172" + "00" + "80");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testWriteNestedDictionariesAndLists() throws IOException {
|
public void testWriteNestedDictionariesAndLists() throws IOException {
|
||||||
Map<String, Object> inner = new LinkedHashMap<>();
|
Map<String, Object> inner = new LinkedHashMap<>();
|
||||||
|
|||||||
Reference in New Issue
Block a user