This function is called during sendrecv() routine to select
        the available sockets.

def select(sockets, remain=None):
        """This function is called during sendrecv() routine to select
        the available sockets.
        """
        if remain is not None:
            max_timeout = remain / len(sockets)
            for s in sockets:
                if s.timeout > max_timeout:
                    s.timeout = max_timeout

        # python-can sockets aren't selectable, so we return all of them
        # sockets, None (means use the socket's recv() )
        return sockets, None