def fetch_data_from(self, size=None):
        """
        fetch_data_from use the socket syntax and arguments. 
        It returns the datas associated to the given host. Because
        data in UDP is not a string this a list of string identified by
        the remote IP.
        """
        self.mutex.acquire()
        elt = None
        if len(self.data) != 0:
            s = ""
            if size:
                if size < len(self.data[0][2]):
                    elt = self.data[0]
                    s = self.data[0][2][:size]
                    self.data[0] = (self.data[0][0], self.data[0][1], self.data[0][2][size:])
                    elt = (elt[0], elt[1], s)
                else:
                    elt = self.data.pop(0)
            else:
                elt = self.data.pop(0)
        self.mutex.release()
        return elt