private void Stat(bool send, MsMessageType t, bool dub=false) {
string n2;
switch(t) {
case MsMessageType.CONNECT:
n2="_Connect";
break;
case MsMessageType.GWINFO:
n2="_Lost";
break;
case MsMessageType.PUBLISH:
if(send) {
n2=dub?"e_sPublishDup":"d_sPublish";
} else {
n2=dub?"b_rPublishDup":"a_rPublish";
}
break;
case MsMessageType.PUBACK:
n2=send?"c_sPubAck":"f_rPubAck";
break;
case MsMessageType.PINGREQ:
n2="g_PingReq";
break;
case MsMessageType.PINGRESP:
n2="h_PingResp";
break;
case MsMessageType.EncapsulatedMessage:
return;
default:
n2=send?"o_sOther":"o_rOther";
break;
}
if(Owner==null) {
return;
}
string p=string.Concat("/var/stat/MQTT-SN/", Owner.name);
Topic pa=Topic.root.Get(p);
pa.saved=false;
DVar<long> d=pa.Get<long>(n2);
d.saved=false;
d.value++;
}