'Render this request, from my server.
This will always be asynchronous, and therefore return NOT_DONE_YET.
It spins off a request to the pb client, and either adds it to the list
of pending issues or requests it immediately, depending on if the
client is already connected.'

def render(self, request):

    if (not self.publisher):
        self.pending.append(request)
        if (not self.waiting):
            self.waiting = 1
            bf = pb.PBClientFactory()
            timeout = 10
            if (self.host == 'unix'):
                reactor.connectUNIX(self.port, bf, timeout)
            else:
                reactor.connectTCP(self.host, self.port, bf, timeout)
            d = bf.getRootObject()
            d.addCallbacks(self.connected, self.notConnected)
    else:
        i = Issue(request)
        self.publisher.callRemote('request', request).addCallbacks(i.finished, i.failed)
    return server.NOT_DONE_YET
