← Back
Editing: flavors.cpython-38.pyc
U ��W[�[ � @ s� d Z ddlmZmZ ddlZddlmZmZ ddlm Z m Z ddlmZm Z mZmZ ddlmZmZmZmZmZmZmZmZmZ eZeZeZeZd Zd ZdZ dZ!G d d� de"�Z#G dd� de�Z$G dd� de�Z%G dd� de%�Z&ee$�G dd� de&��Z'G dd� de&�Z(G dd� de%�Z)G dd� de%�Z*G dd� de*�Z+G dd � d e�Z,G d!d"� d"e,e%�Z-d#d$� Z.ed%e.� d&d'� Z/ed(e/� d)d*� Z0ed+e0� eG d,d-� d-��Z1eG d.d/� d/��Z2dS )0a� This module represents flavors of remotely accessible objects. Currently this is only objects accessible through Perspective Broker, but will hopefully encompass all forms of remote access which can emulate subsets of PB (such as XMLRPC or SOAP). Future Plans: Optimization. Exploitation of new-style object model. Optimizations to this module should not affect external-use semantics at all, but may have a small impact on users who subclass and override methods. @author: Glyph Lefkowitz � )�absolute_import�divisionN)�implementer� Interface)�log�reflect)�_PY3�unicode� comparable�cmp� ) �setUnjellyableForClass�setUnjellyableForClassTree�setUnjellyableFactoryForClass�unjellyableRegistry� Jellyable�Unjellyable�setInstanceState�getInstanceState�_createBlanks copy� caches cached� remotec @ s e Zd ZdZdS )�NoSuchMethodz(Raised if there is no such remote methodN)�__name__� __module__�__qualname__�__doc__� r r �8/usr/lib/python3/dist-packages/twisted/spread/flavors.pyr 2 s r c @ s e Zd ZdZdd� ZdS )�IPBRootz6Factory for root Referenceable objects for PB servers.c C s dS )z%Return root Referenceable for broker.Nr )�brokerr r r � rootObject9 s zIPBRoot.rootObjectN�r r r r r! r r r r r 6 s r c @ s e Zd ZdZdd� ZdS )�Serializableax An object that can be passed remotely. I am a style of object which can be serialized by Perspective Broker. Objects which wish to be referenceable or copied remotely have to subclass Serializable. However, clients of Perspective Broker will probably not want to directly subclass Serializable; the Flavors of transferable objects are listed below. What it means to be "Serializable" is that an object can be passed to or returned from a remote method. Certain basic types (dictionaries, lists, tuples, numbers, strings) are serializable by default; however, classes need to choose a specific serialization style: L{Referenceable}, L{Viewable}, L{Copyable} or L{Cacheable}. You may also pass C{[lists, dictionaries, tuples]} of L{Serializable} instances to or return them from remote methods, as many levels deep as you like. c C s t | �S )z�Return an ID which uniquely represents this object for this process. By default, this uses the 'id' builtin, but can be overridden to indicate that two values are identity-equivalent (such as proxies for the same object). )�id��selfr r r �processUniqueIDQ s zSerializable.processUniqueIDN)r r r r r'