'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.
:param integer/float timeout: Number of seconds that pysmb will wait before raising *SMBTimeout* via the returned *Deferred* instance\'s *errback* method.
:return: A *twisted.internet.defer.Deferred* instance. The callback function will be called with the *data* parameter.'

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

    if (not self.instance):
        raise NotConnectedError('Not    connected    to    server')
    d = defer.Deferred()
    self.instance._echo(data, d.callback, d.errback, timeout)
    return d
