<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">On 3 Mar 2021, at 20:12, george b <<a href="mailto:scooterschorschi@gmail.com" class="">scooterschorschi@gmail.com</a>> wrote:<br class=""><div><blockquote type="cite" class=""><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class=""><div class="">Hello everyone<br class=""></div><div class=""><br class=""></div><div class="">Today I have question, specific to Swiften. So maybe Kevin could answer this ;-)?<br class=""></div><div class=""><br class=""></div><div class="">My omemo implementation works as expected now. But from an architecture or performance point of view, it is not really smart implemented.</div><div class=""><br class=""></div><div class="">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 class=""></div><div class=""><br class=""></div><div class="">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 class=""></div><div class="">std::string Message::getItems()</div><div class="">std::string Message::getEncrypted()<br class=""></div><div class=""><br class=""></div><div class="">Any hints on how to do this, or any clever alternatives are appreciated :-).<br class=""></div></div></div></blockquote><br class=""></div><div>If you want a new payload type in Swiften, the quickest way is to follow the dev guide - <a href="https://swift.im/swiften/guide/#Section-Extending" class="">https://swift.im/swiften/guide/#Section-Extending</a></div><div><br class=""></div><div>/K</div></body></html>