Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Size: Mime:
ó
čEYc	@s‹dddddddddg	Zd	d
lmZd	dlmZd	dlZd	dlZd	d
lmZd	dlm	Z	d	dlm
Zd	dlmZ
d	dlmZdefd„ƒYZde
jfd„ƒYZdeefd„ƒYZdefd„ƒYZejeƒdefd„ƒYƒZdefd„ƒYZdefd„ƒYZdefd„ƒYZde	jfd„ƒYZdS(tNoSuchMethodtRPCAccessPolicyBasetLegacyRPCAccessPolicytDefaultRPCAccessPolicytExplicitRPCAccessPolicyt
RPCDispatchertRPCDispatcherErrortUnsupportedVersiontExpectedExceptioniÿÿÿÿ(tABCMeta(tabstractmethodN(t_utils(t
dispatcher(t
serializer(tserver(ttargetcBseZdZd„ZRS(sçEncapsulates an expected exception raised by an RPC endpoint

    Merely instantiating this exception records the current exception
    information, which  will be passed back to the RPC client without
    exceptional logging.
    cCstjƒ|_dS(N(tsystexc_info(tself((sR/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/rpc/dispatcher.pyt__init__3s(t__name__t
__module__t__doc__R(((sR/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/rpc/dispatcher.pyR,scBseZdZRS(s/A base class for all RPC dispatcher exceptions.(RRR(((sR/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/rpc/dispatcher.pyR7scBseZdZd„ZRS(sBRaised if there is no endpoint which exposes the requested method.cCs-d|}tt|ƒj|ƒ||_dS(Ns'Endpoint does not support RPC method %s(tsuperRRtmethod(RRtmsg((sR/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/rpc/dispatcher.pyR>s
(RRRR(((sR/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/rpc/dispatcher.pyR;scBseZdZdd„ZRS(sDRaised if there is no endpoint which supports the requested version.cCsOd|}|r#d||f}ntt|ƒj|ƒ||_||_dS(Ns(Endpoint does not support RPC version %ss%s. Attempted method: %s(RRRtversionR(RRRR((sR/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/rpc/dispatcher.pyRGs
	N(RRRtNoneR(((sR/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/rpc/dispatcher.pyRDscBseZdZed„ƒZRS(s8Determines which endpoint methods may be invoked via RPCcCsdS(såApplies an access policy to the rpc method
        :param endpoint: the instance of a rpc endpoint
        :param method: the method of the endpoint
        :return: True if the method may be invoked via RPC, else False.
        N((RtendpointR((sR/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/rpc/dispatcher.pyt
is_allowedTs(RRRR
R(((sR/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/rpc/dispatcher.pyRPscBseZdZd„ZRS(sˆThe legacy access policy allows RPC access to all callable endpoint
    methods including private methods (methods prefixed by '_')
    cCstS(N(tTrue(RRR((sR/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/rpc/dispatcher.pyRbs(RRRR(((sR/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/rpc/dispatcher.pyR]scBseZdZd„ZRS(súThe default access policy prevents RPC calls to private methods
    (methods prefixed by '_')

    .. note::

        LegacyRPCAdapterPolicy currently needs to be the default while we have
        projects that rely on exposing private methods.

    cCs|jdƒS(Nt_(t
startswith(RRR((sR/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/rpc/dispatcher.pyRqs(RRRR(((sR/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/rpc/dispatcher.pyRfs	cBseZdZd„ZRS(sBPolicy which requires decorated endpoint methods to allow dispatchcCs)t||ƒr%tt||ƒdƒStS(Ntexposed(thasattrtgetattrtFalse(RRR((sR/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/rpc/dispatcher.pyRxs(RRRR(((sR/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/rpc/dispatcher.pyRuscBsJeZdZdd„Zed„ƒZed„ƒZd„Zd„Z	RS(s'A message dispatcher which understands RPC messages.

    A MessageHandlingServer is constructed by passing a callable dispatcher
    which is invoked with context and message dictionaries each time a message
    is received.

    RPCDispatcher is one such dispatcher which understands the format of RPC
    messages. The dispatcher looks at the namespace, version and method values
    in the message and matches those against a list of available endpoints.

    Endpoints may have a target attribute describing the namespace and version
    of the methods exposed by that object.

    The RPCDispatcher may have an access_policy attribute which determines
    which of the endpoint methods are to be dispatched.
    The default access_policy dispatches all public methods
    on an endpoint object.


    cCsv||_|ptjƒ|_tjƒ|_|dk	rft|t	ƒrW|ƒ|_
qrtdƒ‚ntƒ|_
dS(s©Construct a rpc server dispatcher.

        :param endpoints: list of endpoint objects for dispatching to
        :param serializer: optional message serializer
        s7access_policy must be a subclass of RPCAccessPolicyBaseN(
t	endpointstmsg_serializertNoOpSerializerR
t
msg_targettTargett_default_targetRt
issubclassRt
access_policyt	TypeErrorR(RR%R
R,((sR/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/rpc/dispatcher.pyR“s	cCs
||jkS(N(taccepted_namespaces(Rt	namespace((sR/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/rpc/dispatcher.pyt
_is_namespace¨scCs|jpd}tj||ƒS(Ns1.0(Rtutilstversion_is_compatible(RRtendpoint_version((sR/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/rpc/dispatcher.pyt_is_compatible¬sc
Cs‚|jj|ƒ}tƒ}x3|jƒD]%\}}|jj||ƒ||<q(Wt||ƒ}|||}	|jj||	ƒS(N(R
tdeserialize_contexttdicttitemstdeserialize_entityR#tserialize_entity(
RRRtctxttargstnew_argstargnametargtfunctresult((sR/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/rpc/dispatcher.pyt_do_dispatch±s	cCs*|j}|j}|jdƒ}|jdiƒ}|jdƒ}|jddƒ}t}x¢|jD]—}	t|	ddƒ}
|
sŽ|j}
n|j|
|ƒo¯|j	|
|ƒs¸qdnt
|	|ƒrõ|jj|	|ƒrõ|j
|	|||ƒSnt}qdW|rt|ƒ‚nt|d|ƒ‚dS(sÉDispatch an RPC message to the appropriate endpoint method.

        :param incoming: incoming message
        :type incoming: IncomingMessage
        :raises: NoSuchMethod, UnsupportedVersion
        RR;R/Rs1.0RN(tmessageR:tgetR$R%R#RR*R0R4R"R,RRARRR(RtincomingRBR:RR;R/Rtfound_compatibleRR((sR/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/rpc/dispatcher.pytdispatchºs*		
N(
RRRRRtstaticmethodR0R4RARF(((sR/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/rpc/dispatcher.pyR~s		(t__all__tabcR	R
Rtsixtoslo_messagingRR1RR
R&Rt
msg_serverRR(t	ExceptionRtMessagingServerErrorRtAttributeErrorRRt
add_metaclasstobjectRRRRtDispatcherBaseR(((sR/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/rpc/dispatcher.pyt<module>s6