Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-48755

Document Server-Internal Egress Networking

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 4.7.0
    • Affects Version/s: None
    • Component/s: None
    • Labels:
      None
    • Fully Compatible
    • Service arch 2020-06-29, Service arch 2020-07-13, Service Arch 2020-07-27

      We have a subsystem of specialized code dedicated to networking as a client to other servers (egress). It lives mostly in src/mongo/executor/ with some additional parts in src/mongo/client/.

      Notable classes include (but are not limited to):

      • NetworkInterface
      • NetworkInterfaceTL
      • TaskExecutor
      • RemoteCommandResponse
      • RemoteCommandRequest
      • executor::ConnectionPool
      • EgressTagCloser
      • AsyncDBClient

      There are a few distinct topics to speak to:

      • Remote Commands
      • Connection Pooling
      • Legacy Networking (DBClient et al)

      Egress networking is notably used across our codebase and lives in several directories, we should document it with a new markdown file in docs/.

      This is intended to be abstract documentation, describe relationships and state transitions not code in common language.

            Assignee:
            reo.kimura@mongodb.com Reo Kimura (Inactive)
            Reporter:
            ben.caimano@mongodb.com Benjamin Caimano (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: