'Send an echo command containing *data* to the remote SMB/CIFS server. The remote SMB/CIFS will reply with the same *data*.
:param string data: Data to send to the remote server.
:return: The *data* parameter'

def echo(self, data, timeout=10):

    if (not self.sock):
        raise NotConnectedError('Not    connected    to    server')
    results = []
    def cb(r):
        self.is_busy = False
        results.append(r)
    def eb(failure):
        self.is_busy = False
        raise failure
    self.is_busy = True
    try:
        self._echo(data, cb, eb)
        while self.is_busy:
            self._pollForNetBIOSPacket(timeout)
    finally:
        self.is_busy = False
    return results[0]
