<div dir="ltr"><div>Hello everyone<br></div><div><br></div><div>Today I have question, specific to Swiften. So maybe Kevin could answer this ;-)?<br></div><div><br></div><div>My omemo implementation works as expected now. But from an architecture or performance point of view, it is not really smart implemented.</div><div><br></div><div>The LurchAdapter Class (which handles all the message parsing and forwarding to lurch [1]) catches each incoming Swift::Message stanza. This stanza will be serialized to a std::string [2]. Just to be able to parse out the <items> or the <encrypted> xml part within a message [3]. This part will then be forwarded to lurch, which does the real work on it.<br></div><div><br></div><div>While this works, especially on an embedded device (mobile phone) this has an huge resource impact. I tried to get into swiften in more depth and tried to implement a class, derived from Swift::Payload, which should do the parsing for the 'items' or 'encrypted' payload part. But I don't know how to integrate it in the overall parsing of incoming stanzas. My target would be to have it somehow integrated in a derived class of Swift::Message which could provide me with <br></div><div>std::string Message::getItems()</div><div>std::string Message::getEncrypted()<br></div><div><br></div><div>Any hints on how to do this, or any clever alternatives are appreciated :-).<br></div><div><br></div><div>Best regards</div><div>George<br></div><div><br></div><div>[1] <a href="https://github.com/gkdr/lurch/">https://github.com/gkdr/lurch/</a></div><div>[2] <a href="https://github.com/geobra/harbour-shmoose/blob/80da28bc87aa0fb3ed600db9ba6cb2b8e18f5500/source/xep/omemo/LurchAdapter.cpp#L448">https://github.com/geobra/harbour-shmoose/blob/80da28bc87aa0fb3ed600db9ba6cb2b8e18f5500/source/xep/omemo/LurchAdapter.cpp#L448</a></div><div>[3] <a href="https://xmpp.org/extensions/xep-0384.html">https://xmpp.org/extensions/xep-0384.html</a></div><div><br></div></div>