description: Network timeouts before and after the handshake completes
uri: mongodb://a/?replicaSet=rs
phases:
- description: Primary A is discovered
  responses:
  - - a:27017
    - ok: 1
      ismaster: true
      hosts:
      - a:27017
      setName: rs
      minWireVersion: 0
      maxWireVersion: 9
      topologyVersion: &topologyVersion_1_1
        processId:
          "$oid": '000000000000000000000001'
        counter:
          "$numberLong": '1'
  outcome: &outcome
    servers:
      a:27017:
        type: RSPrimary
        setName: rs
        topologyVersion: *topologyVersion_1_1
        pool:
          generation: 0
    topologyType: ReplicaSetWithPrimary
    logicalSessionTimeoutMinutes: null
    setName: rs

- description: Ignore network timeout application error (afterHandshakeCompletes)
  applicationErrors:
  - address: a:27017
    when: afterHandshakeCompletes
    maxWireVersion: 9
    type: timeout
  outcome: *outcome

- description: Mark server unknown on network timeout application error (beforeHandshakeCompletes)
  applicationErrors:
  - address: a:27017
    when: beforeHandshakeCompletes
    maxWireVersion: 9
    type: timeout
  outcome:
    servers:
      a:27017:
        type: Unknown
        topologyVersion: null
        pool:
          generation: 1
    topologyType: ReplicaSetNoPrimary
    logicalSessionTimeoutMinutes: null
    setName: rs
