Skip to content
Snippets Groups Projects
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
No related branches found
No related tags found
No related merge requests found
...@@ -31,7 +31,7 @@ namespace se.lth.control.labcomm2014 { ...@@ -31,7 +31,7 @@ namespace se.lth.control.labcomm2014 {
} break; } break;
case Constant.SAMPLE_DEF: { case Constant.SAMPLE_DEF: {
int index = decodePacked32(); int index = decodePacked32();
String name = decodeString(); String name = decodeIntentions();
int signature_length = decodePacked32(); int signature_length = decodePacked32();
byte[] signature = new byte[signature_length]; byte[] signature = new byte[signature_length];
ReadBytes(signature, signature_length); ReadBytes(signature, signature_length);
...@@ -39,7 +39,7 @@ namespace se.lth.control.labcomm2014 { ...@@ -39,7 +39,7 @@ namespace se.lth.control.labcomm2014 {
} break; } break;
case Constant.SAMPLE_REF: { case Constant.SAMPLE_REF: {
int index = decodePacked32(); int index = decodePacked32();
String name = decodeString(); String name = decodeIntentions();
int signature_length = decodePacked32(); int signature_length = decodePacked32();
byte[] signature = new byte[signature_length]; byte[] signature = new byte[signature_length];
ReadBytes(signature, signature_length); ReadBytes(signature, signature_length);
...@@ -166,6 +166,30 @@ namespace se.lth.control.labcomm2014 { ...@@ -166,6 +166,30 @@ namespace se.lth.control.labcomm2014 {
return (int) (res & 0xffffffff); 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() { public Type decodeSampleRef() {
int index = (int)ReadInt(4); int index = (int)ReadInt(4);
try { try {
......
...@@ -26,7 +26,7 @@ namespace se.lth.control.labcomm2014 { ...@@ -26,7 +26,7 @@ namespace se.lth.control.labcomm2014 {
int index = def_registry.add(dispatcher); int index = def_registry.add(dispatcher);
begin(Constant.SAMPLE_DEF); begin(Constant.SAMPLE_DEF);
encodePacked32(index); encodePacked32(index);
encodeString(dispatcher.getName()); encodeIntentions(dispatcher.getName());
byte[] signature = dispatcher.getSignature(); byte[] signature = dispatcher.getSignature();
encodePacked32(signature.Length); encodePacked32(signature.Length);
for (int i = 0 ; i < signature.Length ; i++) { for (int i = 0 ; i < signature.Length ; i++) {
...@@ -39,7 +39,7 @@ namespace se.lth.control.labcomm2014 { ...@@ -39,7 +39,7 @@ namespace se.lth.control.labcomm2014 {
int index = ref_registry.add(dispatcher); int index = ref_registry.add(dispatcher);
begin(Constant.SAMPLE_REF); begin(Constant.SAMPLE_REF);
encodePacked32(index); encodePacked32(index);
encodeString(dispatcher.getName()); encodeIntentions(dispatcher.getName());
byte[] signature = dispatcher.getSignature(); byte[] signature = dispatcher.getSignature();
encodePacked32(signature.Length); encodePacked32(signature.Length);
for (int i = 0 ; i < signature.Length ; i++) { for (int i = 0 ; i < signature.Length ; i++) {
...@@ -132,6 +132,12 @@ namespace se.lth.control.labcomm2014 { ...@@ -132,6 +132,12 @@ namespace se.lth.control.labcomm2014 {
WritePacked32(bytes, value); 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) { public void encodeSampleRef(Type value) {
int index = 0; int index = 0;
try { try {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment