#!/usr/bin/env python

# Copyright (c) Twisted Matrix Laboratories.
# See LICENSE for details.

from twisted.internet import reactor
from twisted.spread import pb


class MyException(pb.Error):
    pass


class One(pb.Root):
    def remote_fooMethod(self, arg):
        if arg == "panic!":
            raise MyException
        return "response"

    def remote_shutdown(self):
        reactor.stop()


reactor.listenTCP(8800, pb.PBServerFactory(One()))
reactor.run()
