+
    8i&                        R t ^ RIHt ^ RIt^ RIt^ RIHtHtHt ^ RI	H
t
 ^ RIHt ^ RIHt ^ RIHt ^ RIHtHt  ! R	 R
4      tR# )zRepresent one server the driver is connected to.

.. seealso:: This module is compatible with both the synchronous and asynchronous PyMongo APIs.
)annotationsN)AnyMappingOptional)EPOCH_NAIVE)ObjectId)Hello)SERVER_TYPE)ClusterTime_Addressc                     ] tR t^ t$ RtRLtRMR R llt]R R l4       t]R R l4       t	]R	 R
 l4       t
]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R  l4       t]R! R" l4       t]R# R$ l4       t]R% R& l4       t]R' R( l4       t]R) R* l4       t]R+ R, l4       t]R- R. l4       t]R/ R0 l4       t]R1 R2 l4       t]R3 R4 l4       t]R5 R6 l4       t ]R7 R8 l4       t!]R9 R: l4       t"]R; R< l4       t#]R= R> l4       t$]R? R@ l4       t%RNRA RB llt&RC RD lt'RE RF lt(RG RH lt)/ t*RI]+RJ&   RKt,R# )OServerDescriptiona:  Immutable representation of one server.

:param address: A (host, port) pair
:param hello: Optional Hello instance
:param round_trip_time: Optional float
:param error: Optional, the last error attempting to connect to the server
:param round_trip_time: Optional float, the min latency from the most recent samples
Nc               0    V ^8  d   QhRRRRRRRRR	R
RR/# )   addressr   hellozOptional[Hello[dict[str, Any]]]round_trip_timeOptional[float]errorOptional[Exception]min_round_trip_timefloatreturnNone )formats   "X/var/www/html/photoedit/myenv/lib/python3.14/site-packages/pymongo/server_description.py__annotate__ServerDescription.__annotate__E   sF     -) -)-) /-) )	-)
 #-) #-) 
-)    c                	   Wn         V'       g   \        / 4      pVP                  V n        VP                  V n        VP                  V n        VP                  V n	        VP                  V n        VP                  V n        VP                  V n        VP                   V n        VP$                  V n        VP(                  V n        VP,                  V n        VP0                  V n        VP4                  V n        VP8                  V n        VP<                  V n        VP@                  V n!        W0n"        WPn#        VPH                  V n%        \L        PN                  ! 4       V n(        W@n)        VPT                  V n+        V'       d:   \Y        VR R4      p\[        V\\        4      '       d   VP_                  R4      V n+        V  VP`                  '       d/   VP`                  \b        ,
          pVPe                  4       V n3        R# RV n3        R# )detailsNtopologyVersion)4_addressr   server_type_server_type	all_hosts
_all_hoststags_tagsreplica_set_name_replica_set_nameprimary_primarymax_bson_size_max_bson_sizemax_message_size_max_message_sizemax_write_batch_size_max_write_batch_sizemin_wire_version_min_wire_versionmax_wire_version_max_wire_versionset_version_set_versionelection_id_election_idcluster_time_cluster_timeis_writable_is_writableis_readable_is_readablelogical_session_timeout_minutes_ls_timeout_minutes_round_trip_time_min_round_trip_timeme_metime	monotonic_last_update_time_errortopology_version_topology_versiongetattr
isinstancedictgetlast_write_dater   total_seconds_last_write_date)selfr   r   r   r   r   r!   deltas   &&&&&&  r   __init__ServerDescription.__init__E   s     "IE!--//ZZ
!&!7!7#11!&!7!7%*%?%?"!&!7!7!&!7!7!--!--"//!--!--#(#H#H  /$7!88!%!1!&!7!7eY5G'4(()05F)G&   ))K7E$)$7$7$9D!$(D!r   c                   V ^8  d   QhRR/# )r   r   r   r   )r   s   "r   r   r   u   s       r   c                    V P                   # )z(The address (host, port) of this server.)r#   rU   s   &r   r   ServerDescription.addresst        }}r   c                   V ^8  d   QhRR/# r   r   intr   )r   s   "r   r   r   z   s     ! !S !r   c                    V P                   # )zThe type of this server.)r%   r[   s   &r   r$   ServerDescription.server_typey   s        r   c                   V ^8  d   QhRR/# r   r   strr   )r   s   "r   r   r      s     6 6# 6r   c                D    \         P                  V P                  ,          # )zCThe server type as a human readable string.

.. versionadded:: 3.4
)r	   _fieldsr%   r[   s   &r   server_type_name"ServerDescription.server_type_name~   s     ""4#4#455r   c                   V ^8  d   QhRR/# )r   r   zset[tuple[str, int]]r   )r   s   "r   r   r      s      / r   c                    V P                   # )z;List of hosts, passives, and arbiters known to this server.)r'   r[   s   &r   r&   ServerDescription.all_hosts   s     r   c                   V ^8  d   QhRR/# )r   r   zMapping[str, Any]r   )r   s   "r   r   r      s      ' r   c                	    V P                   # N)r)   r[   s   &r   r(   ServerDescription.tags   s    zzr   c                   V ^8  d   QhRR/# )r   r   zOptional[str]r   )r   s   "r   r   r      s     & &- &r   c                    V P                   # )zReplica set name or None.)r+   r[   s   &r   r*   "ServerDescription.replica_set_name   s     %%%r   c                   V ^8  d   QhRR/# r   r   zOptional[tuple[str, int]]r   )r   s   "r   r   r      s      2 r   c                    V P                   # )z8This server's opinion about who the primary is, or None.)r-   r[   s   &r   r,   ServerDescription.primary   r]   r   c                   V ^8  d   QhRR/# r_   r   )r   s   "r   r   r      s     # #s #r   c                	    V P                   # ro   )r/   r[   s   &r   r.   ServerDescription.max_bson_size   s    """r   c                   V ^8  d   QhRR/# r_   r   )r   s   "r   r   r           & &# &r   c                	    V P                   # ro   )r1   r[   s   &r   r0   "ServerDescription.max_message_size       %%%r   c                   V ^8  d   QhRR/# r_   r   )r   s   "r   r   r      s     * *c *r   c                	    V P                   # ro   )r3   r[   s   &r   r2   &ServerDescription.max_write_batch_size   s    )))r   c                   V ^8  d   QhRR/# r_   r   )r   s   "r   r   r      r|   r   c                	    V P                   # ro   )r5   r[   s   &r   r4   "ServerDescription.min_wire_version   r   r   c                   V ^8  d   QhRR/# r_   r   )r   s   "r   r   r      r|   r   c                	    V P                   # ro   r7   r[   s   &r   r6   "ServerDescription.max_wire_version   r   r   c                   V ^8  d   QhRR/# r   r   zOptional[int]r   )r   s   "r   r   r      s     ! !] !r   c                	    V P                   # ro   )r9   r[   s   &r   r8   ServerDescription.set_version          r   c                   V ^8  d   QhRR/# )r   r   zOptional[ObjectId]r   )r   s   "r   r   r      s     ! !/ !r   c                	    V P                   # ro   )r;   r[   s   &r   r:   ServerDescription.election_id   r   r   c                   V ^8  d   QhRR/# )r   r   zOptional[ClusterTime]r   )r   s   "r   r   r      s     " "3 "r   c                	    V P                   # ro   )r=   r[   s   &r   r<   ServerDescription.cluster_time   s    !!!r   c                   V ^8  d   QhRR/# )r   r   z(tuple[Optional[int], Optional[ObjectId]]r   )r   s   "r   r   r      s     4 4 H 4r   c                	l    \         P                  ! R \        ^R7       V P                  V P                  3# )zL'election_tuple' is deprecated, use  'set_version' and 'election_id' instead)
stacklevel)warningswarnDeprecationWarningr9   r;   r[   s   &r   election_tuple ServerDescription.election_tuple   s0    Z	

   $"3"333r   c                   V ^8  d   QhRR/# ru   r   )r   s   "r   r   r      s      - r   c                	    V P                   # ro   )rG   r[   s   &r   rF   ServerDescription.me   s    xxr   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r      s     ( ( (r   c                	    V P                   # ro   )rC   r[   s   &r   rB   1ServerDescription.logical_session_timeout_minutes   s    '''r   c                   V ^8  d   QhRR/# r   r   r   r   )r   s   "r   r   r      s     % % %r   c                	    V P                   # ro   )rT   r[   s   &r   rR   !ServerDescription.last_write_date   s    $$$r   c                   V ^8  d   QhRR/# r   r   r   r   )r   s   "r   r   r      s     & &% &r   c                	    V P                   # ro   )rJ   r[   s   &r   last_update_time"ServerDescription.last_update_time   r   r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r      s     % % %r   c                    V P                   V P                  9   d   V P                  V P                   ,          # V P                  # )z$The current average latency or None.)r#   _host_to_round_trip_timerD   r[   s   &r   r   !ServerDescription.round_trip_time   s7     ==D99900??$$$r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r      s     ) )U )r   c                    V P                   # )z-The min latency from the most recent samples.)rE   r[   s   &r   r   %ServerDescription.min_round_trip_time   s     (((r   c                   V ^8  d   QhRR/# )r   r   r   r   )r   s   "r   r   r      s      * r   c                    V P                   # )z<The last error attempting to connect to the server, or None.)rK   r[   s   &r   r   ServerDescription.error   s     {{r   c                   V ^8  d   QhRR/# r   r   boolr   )r   s   "r   r   r           ! !T !r   c                	    V P                   # ro   )r?   r[   s   &r   r>   ServerDescription.is_writable   r   r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r      r   r   c                	    V P                   # ro   )rA   r[   s   &r   r@   ServerDescription.is_readable   r   r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r      s     7 7 7r   c                	<    V P                   \        P                  8H  # ro   )r%   r	   Mongosr[   s   &r   mongosServerDescription.mongos   s      K$6$666r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r      s     7 7d 7r   c                	<    V P                   \        P                  8g  # ro   )r$   r	   Unknownr[   s   &r   is_server_type_known&ServerDescription.is_server_type_known   s    ;#6#666r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r      s     ; ;D ;r   c                    V P                   \        P                  \        P                  39   ;'       g    V P                   \        P                  8H  # z0Checks if this server supports retryable writes.)r%   r	   r   	RSPrimaryLoadBalancerr[   s   &r   retryable_writes_supported,ServerDescription.retryable_writes_supported   sF     +"4"4k6K6K!LL; ;+":"::	;r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r      s     + +4 +r   c                     V P                   ^8  # r   r   r[   s   &r   retryable_reads_supported+ServerDescription.retryable_reads_supported   s     %%**r   c                   V ^8  d   QhRR/# )r   r   zOptional[Mapping[str, Any]]r   )r   s   "r   r   r     s     & &"= &r   c                	    V P                   # ro   )rM   r[   s   &r   rL   "ServerDescription.topology_version  r   r   c                    V ^8  d   QhRRRR/# )r   r   r   r   r   r   )r   s   "r   r   r     s       3 ?P r   c                	V    \        V P                  VR 7      pV P                  Vn        V# ))r   )r   r   rL   rM   )rU   r   unknowns   && r   
to_unknownServerDescription.to_unknown  s%    #DLL>$($9$9!r   c                    V ^8  d   QhRRRR/# r   otherr   r   r   r   )r   s   "r   r   r   
  s      C D r   c                	   \        V\        4      '       Ed   V P                  VP                  8H  ;'       Ed    V P                  VP
                  8H  ;'       Edg    V P                  VP                  8H  ;'       EdE    V P                  VP                  8H  ;'       Ed#    V P                  VP                  8H  ;'       Ed    V P                  VP                  8H  ;'       d    V P                  VP                  8H  ;'       d    V P                   VP"                  8H  ;'       d    V P$                  VP&                  8H  ;'       d}    V P(                  VP*                  8H  ;'       d\    V P,                  VP.                  8H  ;'       d;    V P0                  VP2                  8H  ;'       d    V P4                  VP6                  8H  # \8        # ro   )rO   r   r#   r   r%   r$   r5   r4   r7   r6   rG   rF   r'   r&   r)   r(   r+   r*   r9   r8   r;   r:   r-   r,   rC   rB   rK   r   NotImplementedrU   r   s   &&r   __eq__ServerDescription.__eq__
  s   e.//%--/ 1 1&&%*;*;;1 1++u/E/EE1 1 ++u/E/EE1 1 XX)	1 1
 __71 1 ZZ5::-1 1 ++u/E/EE1 1 &&%*;*;;1 1 &&%*;*;;1 1 ]]emm31 1 --1V1VV1 1 [[EKK/  r   c                    V ^8  d   QhRRRR/# r   r   )r   s   "r   r   r     s     ! !C !D !r   c                	    W8X  * # ro   r   r   s   &&r   __ne__ServerDescription.__ne__  s      r   c                   V ^8  d   QhRR/# rd   r   )r   s   "r   r   r   !  s     

 

# 

r   c                	    R pV P                   '       d   RV P                   : 2pRP                  V P                  P                  V P                  V P
                  V P                  V4      # ) z, error=z"<{} {} server_type: {}, rtt: {}{}>)r   r   	__class____name__r   rh   r   )rU   errmsgs   & r   __repr__ServerDescription.__repr__!  s\    :::

~.F3::NN##LL!!  
 	
r   rP   r   )r#   r'   r=   r;   rK   rA   r?   rJ   rT   rC   r/   r1   r7   r3   rG   rE   r5   r-   r+   rD   r%   r9   r)   rM   )r#   r%   r'   r)   r+   r-   r/   r1   r3   r5   r7   rD   rE   rG   r?   rA   rC   rK   r9   r;   r=   rT   rJ   rM   )NNNg        ro   )-r   
__module____qualname____firstlineno____doc__	__slots__rW   propertyr   r$   rh   r&   r(   r*   r,   r.   r0   r2   r4   r6   r8   r:   r<   r   rF   rB   rR   r   r   r   r   r>   r@   r   r   r   r   rL   r   r   r   r   r   __annotations____static_attributes__r   r   r   r   r       s   I6-)^   ! ! 6 6     & &   # # & & * * & & & & ! ! ! ! " " 4 4   ( ( % % & & % % ) )   ! ! ! ! 7 7 7 7 ; ; + + & &
(!

 &(d'r   r   )r   
__future__r   rH   r   typingr   r   r   bsonr   bson.objectidr   pymongo.hellor   pymongo.server_typer	   pymongo.typingsr
   r   r   r   r   r   <module>r      s6    #   ) )  "  + 1N( N(r   