You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
1. Implement wasm engine with wazero.
2. To simplify the writing of smart data policy, implement smart data policy template based on Golang, and similar template can also be implemented by other programming language which support to be compiled into wasm.
3. Integrate smart data policy interfaces into nhp-agent and nhp-server.
Co-authored-by: wenhulove333@163.com <Zhang Wenhu>
//Wait for NHP-Server response and implement reception and processing within the func() function below.
838
+
varerrerror
839
+
result, dsaMsg:=func() (bool, *common.DSAMsg) {
840
+
dsaMsg:=&common.DSAMsg{}
841
+
ifserverPpd.Error!=nil {
842
+
log.Error("Agent(%s#%d)[SendDARMsgToServer] failed to receive response from server %s: %v", drgMsg.DoId, drgMd.TransactionId, server.Ip, serverPpd.Error)
843
+
err=serverPpd.Error
844
+
returnfalse, dsaMsg
845
+
}
846
+
847
+
ifserverPpd.HeaderType!=core.NHP_DSA {
848
+
log.Error("DB(%s#%d)[SendDARMsgToServer] response from server %s has wrong type: %s", drgMsg.DoId, drgMd.TransactionId, server.Ip, core.HeaderTypeToString(serverPpd.HeaderType))
log.Critical("device(%s)[SendDAVMsgToServer] register server IP cannot be parsed", a)
908
+
}
909
+
davMsg:=msg
910
+
davBytes, _:=json.Marshal(davMsg)
911
+
davMd:=&core.MsgData{
912
+
RemoteAddr: sendAddr.(*net.UDPAddr),
913
+
HeaderType: core.NHP_DAV,
914
+
TransactionId: a.device.NextCounterIndex(),
915
+
Compress: true,
916
+
Message: davBytes,
917
+
PeerPk: server.PublicKey(),
918
+
ResponseMsgCh: make(chan*core.PacketParserData),
919
+
}
920
+
921
+
currTime:=time.Now().UnixNano()
922
+
if!a.IsRunning() {
923
+
log.Error("server-agentMsgData channel closed or being closed, skip sending")
924
+
returnresult, nil
925
+
}
926
+
// device will create or find existing connection and sends the MsgAssembler via that connection
927
+
a.sendMsgCh<-davMd
928
+
server.UpdateSend(currTime)
929
+
// block until transaction completes
930
+
serverPpd:=<-davMd.ResponseMsgCh
931
+
close(davMd.ResponseMsgCh)
932
+
784
933
//Wait for NHP-Server response and implement reception and processing within the func() function below.
785
934
varerrerror
786
935
result, dagMsg:=func() (bool, *common.DAGMsg) {
787
936
dagMsg:=&common.DAGMsg{}
788
937
ifserverPpd.Error!=nil {
789
-
log.Error("Agent(%s#%d)[SendDARMsgToServer] failed to receive response from server %s: %v", drgMsg.DoId, drgMd.TransactionId, server.Ip, serverPpd.Error)
938
+
log.Error("Agent(%s#%d)[SendDAVMsgToServer] failed to receive response from server %s: %v", davMsg.DoId, davMd.TransactionId, server.Ip, serverPpd.Error)
790
939
err=serverPpd.Error
791
940
returnfalse, dagMsg
792
941
}
793
942
794
943
ifserverPpd.HeaderType!=core.NHP_DAG {
795
-
log.Error("DB(%s#%d)[SendDARMsgToServer] response from server %s has wrong type: %s", drgMsg.DoId, drgMd.TransactionId, server.Ip, core.HeaderTypeToString(serverPpd.HeaderType))
944
+
log.Error("DB(%s#%d)[SendDAVMsgToServer] response from server %s has wrong type: %s", davMsg.DoId, davMd.TransactionId, server.Ip, core.HeaderTypeToString(serverPpd.HeaderType))
0 commit comments