The latest changes to Blunt made the L2CAP connection establishment phase a bit more stable. It’s not really clean, but works: Instead of using a timeout and retransmit in case the connection establishment stalls, I just send the packets twice, no matter what. They’re marked using the same packet identifier so the peer can throw the second one away. Likewise, I ignore any duplicate response. A more difficult issue is connection closedown. It seems that proper disconnect at least in the RFCOMM layer is needed. Otherwise, peer devices don’t finish an OBEX transfer (or discard the transfer such as MacOS X). It’s a bit trickier to get into closedown since I’m not sure how much of the comm tool is still usable at that point. First attempts just caused a reboot.
Still open is also the SDP and some nasty crashes using the P800. I’m not sure why the P800 causes the crashes, but I’ll probably have to add some safeguards. The SDP is likely easier to fix. Some improvements for Windows support are also needed in that area.
Unrelated to that, adding gzip support to Courier was certainly a success. 8k/sec over GPRS are quite nice. Still, NHttpLib could do well with a rewrite…