@@ -422,6 +422,10 @@ def __init__(self, host, connection_pool, ismaster_response, ping_time, up):
422422 'maxBsonObjectSize' , common .MAX_BSON_SIZE )
423423 self .max_message_size = ismaster_response .get (
424424 'maxMessageSizeBytes' , 2 * self .max_bson_size )
425+ self .min_wire_version = ismaster_response .get ('minWireVersion' ,
426+ common .MIN_WIRE_VERSION )
427+ self .max_wire_version = ismaster_response .get ('maxWireVersion' ,
428+ common .MAX_WIRE_VERSION )
425429
426430 def clone_with (self , ismaster_response , ping_time_sample ):
427431 """Get a clone updated with ismaster response and a single ping time.
@@ -1017,6 +1021,32 @@ def max_message_size(self):
10171021 return rs_state .primary_member .max_message_size
10181022 return common .MAX_MESSAGE_SIZE
10191023
1024+ @property
1025+ def min_wire_version (self ):
1026+ """The minWireVersion reported by the server.
1027+
1028+ Returns ``0`` when connected to server versions prior to MongoDB 2.6.
1029+
1030+ .. versionadded:: 2.7
1031+ """
1032+ rs_state = self .__rs_state
1033+ if rs_state .primary_member :
1034+ return rs_state .primary_member .min_wire_version
1035+ return common .MIN_WIRE_VERSION
1036+
1037+ @property
1038+ def max_wire_version (self ):
1039+ """The maxWireVersion reported by the server.
1040+
1041+ Returns ``0`` when connected to server versions prior to MongoDB 2.6.
1042+
1043+ .. versionadded:: 2.7
1044+ """
1045+ rs_state = self .__rs_state
1046+ if rs_state .primary_member :
1047+ return rs_state .primary_member .max_wire_version
1048+ return common .MAX_WIRE_VERSION
1049+
10201050 @property
10211051 def auto_start_request (self ):
10221052 """Is auto_start_request enabled?
0 commit comments