Hello!
I'm using CPP lib for server implementation.
Recently i've found out that if method action request from client contains response, which doesn't fit to the PDU buffer size (~1024) the "MethodRequestNormal" function doesn't create server->m_Transaction = new CGXDLMSLongTransaction object, which will contain remaining data buffer. So I do it myself in the code for MethodRequestNormal:
CGXDLMSLNParameters p(&settings, invokeId, DLMS_COMMAND_METHOD_RESPONSE, 1, NULL, &bb, error, cipheredCommand);
ret = CGXDLMS::GetLNPdu(p, *replyData);
// MY PART
CGXDLMSValueEventCollection arr;
if (bb.GetSize() != bb.GetPosition())
{
if (server->m_Transaction != NULL)
{
delete server->m_Transaction;
server->m_Transaction = NULL;
}
server->m_Transaction = new CGXDLMSLongTransaction(arr, DLMS_COMMAND_METHOD_REQUEST, bb);
}
But I'm not sure, that everything will be working correctly
Please help me with this
Best regards!