Hitchhiker
Edit
Introduction
Hitchhiker was our
toy project
and our first attempt to tame the Wi-Fi beast inside Windows Mobile. It helps users to easier to connect to Wi-Fi access point.
Edit
Background
Hitchhiker works very well in WM2003, but not WM5 or WM6. The problem is not because of WM5, but how we handle Wi-Fi data from the device itself. We use
Point-to-Point Message Queue
to receive events from Wi-Fi manager of Windows Mobile devices.
In P2P MQ, there could be one writer and multiple readers on the same message queue. In WM2003, there are one writer, which is the Wi-Fi manager, and there are no readers on the message queue. We implemented one reader to receive events and it works very well until WM5.
In WM5, there is one writer, but also one reader on the message queue. Therefore, when we added our reader to the message queue, there will be 1W and 2R. According to MSDN documentation:
If there are several readers, each reader can read only the current message at the head of the queue when a read request is made. The CreateMsgQueue function enables the specification of a remote queue.
Therefore, Hitchhiker may lose some events due to multiple readers on a message queue.
We implemented a prototype on WM5 using another event logic and it works very well. But since the architecture is totally different that Hitchhiker, we didn't put that prototype back into Hitchhiker.
Now we feel like we should revive Hitchhiker as lots of friends of Kasuei want us to do that.
Edit
Roadmap
We will target Hitchhiker 2 as a
toy project
, so we can push it out of the door as soon as possible. We want to see if we can complete it before our next vacation at November 2008.