'Subclasses must implement this method.  It should attempt to
open a new Connection and return it; if a failure occurs, an
Exception should be raised.'

def try_reconnect(self):

    raise NotImplementedError()
