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    
python3-dmapi-el9 / usr / lib / python3.9 / site-packages / dmapi / __pycache__ / rpc.cpython-39.pyc
Size: Mime:
a

[r`e¸-ã@svgd¢ZddlZddlmZddlZddlmZddl	m
Z
ddlmZddl
ZddlZddlmZejjZe e¡ZdadadadaejjgZgZdd	d
dœZdd
„Zddl m!Z!dd„Z"dd„Z#dd„Z$dd„Z%dd„Z&dd„Z'Gdd„dej(ƒZ)Gdd„dej*ƒZ+d1dd „Z,d2d!d"„Z-d3d#d$„Z.d4d%d&„Z/d'd(„Z0d)d*„Z1Gd+d,„d,e2ƒZ3Gd-d.„d.e2ƒZ4Gd/d0„d0e
j5ƒZ6dS)5)ÚinitÚcleanupÚset_defaultsÚadd_extra_exmodsÚclear_extra_exmodsÚget_allowed_exmodsÚRequestContextSerializerÚ
get_clientÚ
get_serverÚget_notifierÚTRANSPORT_ALIASESéN)Úlog)Ú	jsonutils)Ú
periodic_task)Ú	timeutils)Ú_ZrabbitZqpidZzmq)zdmapi.rpc.impl_kombuzdmapi.rpc.impl_qpidzdmapi.rpc.impl_zmqcCst |¡dS©N)Ú	messagingZset_transport_defaults)Zcontrol_exchange©rú-/usr/lib/python3.9/site-packages/dmapi/rpc.pyr7sr)ÚcfgcCs8tjdgd¢ddddtjddd	g}|}| |¡dS)
NÚnotification_format)ÚunversionedZ	versionedÚbothrZDEFAULTÚ)ÚchoicesÚdefaultZdeprecated_groupÚhelpÚhostz   )r)rZStrOptZHostAddressOptÚ
register_opts)ÚconfZnotification_optsZALL_OPTSrrrr=sûÿø
rcCs°t|ƒtƒ}tj||datj||dattƒƒ}|j	dkr^tj
t|datj
t|ddanN|j	dkrŠtj
t|datj
t|dgdan"tj
t|ddatj
t|dgdadS)	N©Úallowed_remote_exmodsr)Ú
serializerZnoop)r#ZdriverrZversioned_notifications)r#Ztopics)
rrrÚ
get_transportÚ	TRANSPORTZget_notification_transportÚNOTIFICATION_TRANSPORTrÚJsonPayloadSerializerrZNotifierÚLEGACY_NOTIFIERÚNOTIFIER)r Úexmodsr#rrrrOs<ÿ

ÿÿ
ÿþþþrcCsTtdusJ‚tdusJ‚tdus$J‚tdus0J‚t ¡t ¡daaaadSr)r%r&r(r)rrrrrrlsrcGst |¡dSr)ÚEXTRA_EXMODSÚextend)ÚargsrrrrzsrcCstdd…=dSr)r+rrrrr~srcCsttSr)ÚALLOWED_EXMODSr+rrrrr‚src@seZdZedd„ƒZdS)r'cCstj|ddS)NT)Zconvert_instances)rZto_primitive)ÚcontextÚentityrrrÚserialize_entity‡sz&JsonPayloadSerializer.serialize_entityN)Ú__name__Ú
__module__Ú__qualname__Ústaticmethodr1rrrrr'†sr'c@s4eZdZdd„Zdd„Zdd„Zdd„Zd	d
„ZdS)rcCs
||_dSr)Ú_base)ÚselfÚbaserrrÚ__init__Žsz!RequestContextSerializer.__init__cCs|js
|S|j ||¡Sr)r6r1©r7r/r0rrrr1‘sz)RequestContextSerializer.serialize_entitycCs|js
|S|j ||¡Sr)r6Údeserialize_entityr:rrrr;–sz+RequestContextSerializer.deserialize_entitycCs| ¡Sr)Zto_dict©r7r/rrrÚserialize_context›sz*RequestContextSerializer.serialize_contextcCstjj |¡Sr)Údmapir/ÚRequestContextZ	from_dictr<rrrÚdeserialize_contextžsz,RequestContextSerializer.deserialize_contextN)r2r3r4r9r1r;r=r@rrrrrŒs
rcCstj t|t¡Sr)rZTransportURLÚparseÚCONFr)Zurl_strrrrÚget_transport_url¢srCcCsJtjj}tjjgg}tj||d}|dus0J‚t|ƒ}tj||||dS)Nr!©Úversion_capr#)	r>r rBÚ	exceptionr2rr$rÚ	RPCClient)ÚtargetrEr#r r*r%rrrr¦sýrcCs(tdusJ‚t|ƒ}tjt||d|dS)NZeventlet)Úexecutorr#)r%rrZget_rpc_server)rHZ	endpointsr#rrrr	³sür	cCs2tdusJ‚|s"d||ptjf}ttj|dƒS)Nz%s.%s©Úpublisher_id)r(rBrÚLegacyValidatingNotifierÚprepare)ZservicerrKrrrr
½s
ÿr
cCstdusJ‚tj|dS)NrJ)r)rMrJrrrÚget_versioned_notifierÅsrNcCstƒ}tjt||dS)N)Úurlr")rrr$rB)rOr*rrrÚcreate_transportÊs
þrPc@s:eZdZdZdZdgZedƒZdd„Zdd„Z	d	d
„Z
dS)rLzDWraps an oslo.messaging Notifier and checks for allowed event_types.Fzaggregate.addhost.endze%(event_type)s is not a versioned notification and not whitelisted. See ./doc/source/notification.rstcCs*||_dD]}t||t |j|¡ƒq
dS)N)ÚdebugÚinfoÚwarnÚerrorZcritical)ÚnotifierÚsetattrÚ	functoolsÚpartialÚ_notify)r7rUÚpriorityrrrr9ås
ÿz!LegacyValidatingNotifier.__init__cCsddht| ¡ƒkS)NrFr-)ÚsetÚkeys)r7ÚpayloadrrrÚ_is_wrap_exception_notificationësz8LegacyValidatingNotifier._is_wrap_exception_notificationcCsX||jvr@| |¡s@|jr.t|jd|iƒ‚nt |jd|i¡t|j|ƒ|||ƒdS)NÚ
event_type)	Ú'allowed_legacy_notification_event_typesr^ÚfatalÚAssertionErrorÚmessageÚLOGZwarningÚgetattrrU)r7rZZctxtr_r]rrrrYôs
ÿz LegacyValidatingNotifier._notifyN)r2r3r4Ú__doc__rar`rrcr9r^rYrrrrrLÑsÿ	rLc@s eZdZdd„Zedd„ƒZdS)Ú
ClientWrappercCs||_t ¡|_dSr)Ú_clientrÚutcnowÚlast_access_time)r7Úclientrrrr9szClientWrapper.__init__cCst ¡|_|jSr)rrirjrh)r7rrrrks
zClientWrapper.clientN)r2r3r4r9Úpropertyrkrrrrrgÿsrgcs8eZdZdZ‡fdd„Zd	dd„Zejdd„ƒZ‡ZS)
ÚClientRouterzËCreates and caches RPC clients that route to cells or the default.

    The default client connects to the API cell message queue. The rest of the
    clients connect to compute cell message queues.
    csZtt|ƒ t¡i|_t|ƒ|jd<|j|_|j|_t|ddƒ|_	| 
tjj
dd¡dS)Nrr#F)Z	overwrite)Úsuperrmr9rBÚclientsrgrHrErer#Zrun_periodic_tasksr>r/r?)r7Zdefault_client©Ú	__class__rrr9szClientRouter.__init__Nc	Csh|r|j}nd}z|j|j}WnBtybt|jƒ}tj||j|j	|j
d}t|ƒ|j|<Yn0|S)NrrD)ZuuidrorkÚKeyErrorrPZ
transport_urlrrGrHrEr#rg)r7r/Zcell_mappingÚ	client_idrkZ	transportrrrrhs

þzClientRouter._clientcsLd‰‡fdd„}t|j ¡ƒ}|D]$\}}|dkr"|||jƒr"|j|=q"dS)Né<cs"t |ˆ¡rt d||¡dSdS)Nz;Removing stale RPC client: %s as it was last accessed at %sTF)rZ
is_older_thanrdrQ)rsrj©ÚtimeoutrrÚstale2sÿz1ClientRouter._remove_stale_clients.<locals>.staler)ÚlistroÚitemsrj)r7r/rwZ
items_copyrsZclient_wrapperrrurÚ_remove_stale_clients.s
ÿz"ClientRouter._remove_stale_clients)N)	r2r3r4rfr9rhrrzÚ
__classcell__rrrprrm
s

rm)N)NN)N)NN)7Ú__all__rWZoslo_logr
ZloggingZoslo_messagingrZoslo_serializationrZoslo_servicerZ
oslo_utilsrZ
dmapi.confr>Zdmapi.exceptionZ
dmapi.i18nrr rBZ	getLoggerr2rdr%r(r&r)rFr.r+rrZoslo_configrrrrrrrZNoOpSerializerr'Z
SerializerrrCrr	r
rNrPÚobjectrLrgZ
PeriodicTasksrmrrrrÚ<module>sP

ý




.