In general, how does this library handles thread? Or is there any thread at all? When a message received (and if PacketListener is set), does the library invoke PacketListener in a separate thread?
Or is the receiving thread blocked until processPacket (in PacketListener) returns? (and can not process further incoming messages until the processPacket retuns)