'The connection was lost.
@param reason: message to put in L{failure.Failure}'

def connectionLost(self, reason):

    self.disconnected = 1
    self.luids = None
    if self.waitingForAnswers:
        for d in self.waitingForAnswers.values():
            try:
                d.errback(failure.Failure(PBConnectionLost(reason)))
            except:
                log.deferr()
    for lobj in self.remotelyCachedObjects.values():
        cacheable = lobj.object
        perspective = lobj.perspective
        try:
            cacheable.stoppedObserving(perspective, RemoteCacheObserver(self, cacheable, perspective))
        except:
            log.deferr()
    for notifier in self.disconnects[:]:
        try:
            notifier()
        except:
            log.deferr()
    self.disconnects = None
    self.waitingForAnswers = None
    self.localSecurity = None
    self.remoteSecurity = None
    self.remotelyCachedObjects = None
    self.remotelyCachedLUIDs = None
    self.locallyCachedObjects = None
    self.localObjects = None
