I was looking for Stream management documentation and chanced upon this empty doc page: https://github.com/igniterealtime/Smack/blob/master/documentation/extensions/str eammanagement.md
I have enabled stream management in my project
XMPPTCPConnectionConfiguration config = getConfig(); xmppConnection = new XMPPTCPConnection(config); XMPPTCPConnection.setUseStreamManagementDefault(true); XMPPTCPConnection.setUseStreamManagementResumptiodDefault(true); //STREAM MANAGEMENT! xmppConnection.setUseStreamManagement(true); xmppConnection.setUseStreamManagementResumption(true); xmppConnection.connect();
However after some idle time smack seems to be not sending the messages to server even though there are no exceptions. My guess would be that the server or other client has not sent acknowledgement of the stream stanzas (perhaps writePackets in xmpptcpconnection is putting the packet in unacknowledged stanzas rather than writing it to stream).
This is after idle time or my app has been minimized and then reopened.
The smack debug log shows the messages being placed in queue
02-10 14:17:33.840 12386-12401/co.intouch I/SEND_TXT_MSG﹕ Sending NEW message ( vjcfjfj ) to firstname.lastname@example.org Message Id cxb13ee8fe-6a1c-44a6-9d57-0175bb8aaab8
02-10 14:17:33.840 12386-12673/co.intouch D/SMACK﹕ SENT (0): vjcfjfja71521ae-613b-41d8-8d67-910ae65e110f</t hread>
02-10 14:17:33.841 12386-12673/co.intouch D/SMACK﹕ SENT (0):
But nothing is sent to the server.
Essentially, messages are lost even with stream management enabled. Am I missing something in my configuration?