def run(self, oneshot=False):
        """
        run: boolean -> None

        run will read and dispatch any packet which arrives from the
        XBee device
        """
        if not self.xbee:
            raise ValueError("Either a serial port or an XBee must be provided \
                             to __init__ to execute run()")

        while True:
            self.dispatch(self.xbee.wait_read_frame())

            if oneshot:
                break
run: boolean -> None

        run will read and dispatch any packet which arrives from the
        XBee device