Commit 0802e984 authored by Sven Gestegård Robertz's avatar Sven Gestegård Robertz
Browse files

Csharp adapted to protocol with intentions. (Ignoring them)

parent b638d1b1
......@@ -31,7 +31,7 @@ namespace se.lth.control.labcomm2014 {
} break;
case Constant.SAMPLE_DEF: {
int index = decodePacked32();
String name = decodeString();
String name = decodeIntentions();
int signature_length = decodePacked32();
byte[] signature = new byte[signature_length];
ReadBytes(signature, signature_length);
......@@ -39,7 +39,7 @@ namespace se.lth.control.labcomm2014 {
} break;
case Constant.SAMPLE_REF: {
int index = decodePacked32();
String name = decodeString();
String name = decodeIntentions();
int signature_length = decodePacked32();
byte[] signature = new byte[signature_length];
ReadBytes(signature, signature_length);
......@@ -166,6 +166,30 @@ namespace se.lth.control.labcomm2014 {
return (int) (res & 0xffffffff);
}
private byte[] decodeBytes() {
int len = decodePacked32();
byte[] result = new byte[len];
for(int i=0; i<len; i++) {
result[i] = decodeByte();
}
return result;
}
private String decodeIntentions() {
int numIntentions = decodePacked32();
string name = "";
for(int i = 0; i<numIntentions; i++) {
byte[] key = decodeBytes();
byte[] val = decodeBytes();
if(key.Length == 0) {
name = Encoding.UTF8.GetString(val, 0, val.Length);
}
}
return name;
}
public Type decodeSampleRef() {
int index = (int)ReadInt(4);
try {
......
......@@ -26,7 +26,7 @@ namespace se.lth.control.labcomm2014 {
int index = def_registry.add(dispatcher);
begin(Constant.SAMPLE_DEF);
encodePacked32(index);
encodeString(dispatcher.getName());
encodeIntentions(dispatcher.getName());
byte[] signature = dispatcher.getSignature();
encodePacked32(signature.Length);
for (int i = 0 ; i < signature.Length ; i++) {
......@@ -39,7 +39,7 @@ namespace se.lth.control.labcomm2014 {
int index = ref_registry.add(dispatcher);
begin(Constant.SAMPLE_REF);
encodePacked32(index);
encodeString(dispatcher.getName());
encodeIntentions(dispatcher.getName());
byte[] signature = dispatcher.getSignature();
encodePacked32(signature.Length);
for (int i = 0 ; i < signature.Length ; i++) {
......@@ -132,6 +132,12 @@ namespace se.lth.control.labcomm2014 {
WritePacked32(bytes, value);
}
private void encodeIntentions(String name) {
encodePacked32(1); // one intention field
encodePacked32(0); // empty key: name
encodeString(name);
}
public void encodeSampleRef(Type value) {
int index = 0;
try {
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment