Пример #1
0
def _connection_lost(conn_id, *closables):
    if closables:
        pythonshare._close(*closables)
    try:
        for ns in _g_namespace_users[conn_id]:
            try:
                _g_local_namespaces[ns]["pythonshare_ns"].call_on_disconnect(conn_id)
            except KeyError:
                pass
    except KeyError:
        pass
Пример #2
0
def _connection_lost(conn_id, *closables):
    if closables:
        pythonshare._close(*closables)
    try:
        for ns in _g_namespace_users[conn_id]:
            try:
                _g_local_namespaces[ns]["pythonshare_ns"].call_on_disconnect(conn_id)
            except KeyError:
                pass
    except KeyError:
        pass
Пример #3
0
def _connection_lost(conn_id, *closables):
    if closables:
        pythonshare._close(*closables)
    for ns in _g_namespace_users[conn_id]:
        _g_local_namespaces[ns]["pythonshare_ns"].call_on_disconnect(conn_id)
Пример #4
0
 def __del__(self):
     pythonshare._close(self.conn, self.to_remote, self.from_remote)
Пример #5
0
 def close(self):
     pythonshare._close(self._to_server, self._from_server, self._s)
Пример #6
0
 def close(self):
     pythonshare._close(self._to_server, self._from_server, self._s)
Пример #7
0
 def close(self):
     pythonshare._check_hook("before:client.socket.close", {"socket": self._s})
     pythonshare._close(self._to_server, self._from_server, self._s)
Пример #8
0
                else:
                    # synchronous execution, return true return value
                    exec_rv = _local_execute(obj)
            if opt_debug:
                daemon_log("%s:%s <= %s" % (conn.getpeername() + (exec_rv,)))
            try:
                cPickle.dump(exec_rv, to_client)
            except (TypeError, cPickle.PicklingError): # pickling rv fails
                exec_rv.expr_rv = messages.Unpicklable(exec_rv.expr_rv)
                cPickle.dump(exec_rv, to_client)
            to_client.flush()
        else:
            daemon_log("unknown message type: %s in %s" % (type(obj), obj))
    if opt_debug:
        daemon_log("disconnected %s:%s" % conn.getpeername())
    pythonshare._close(to_client, from_client, conn)

def start_server(host, port,
                 ns_init_import_export=[]):
    daemon_log("pid: %s" % (os.getpid(),))

    # Initialise, import and export namespaces
    for task, ns, arg in ns_init_import_export:
        if task == "init":
            _init_local_namespace(ns, arg, force=True)

        elif task == "export":
            _init_local_namespace(ns, None, force=True)
            c = pythonshare.connection(arg)
            if c.export_ns(ns):
                _register_exported_namespace(ns, c)