[CXX-981] Implement The MongoDB Handshake Protocol Created: 29/Jul/16  Updated: 01/Aug/16  Resolved: 01/Aug/16

Status: Closed
Project: C++ Driver
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: New Feature Priority: Major - P3
Reporter: Rathi Gnanasekaran Assignee: Unassigned
Resolution: Won't Fix Votes: 0
Labels: legacy-cxx
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
is depended on by DRIVERS-304 MongoDB Handshake protocol Closed
Epic Link: Legacy C++ Driver MongoDB 3.4 Support

 Description   

https://github.com/mongodb/specifications/blob/master/source/mongodb-handshake/handshake.rst

TL;DR: Every socket connecting to MongoDB MUST issue isMaster announcing itself to the server with the following pseudo document.
There is also new connection URI field appname the user can provide (client.application.name) which the server will write out in its logs and profile entries, making correlating server log entries to respective applications trivial.

isMaster({
    client: {
        /* OPTIONAL. If present, the "name" is REQUIRED */
        application: {
            name: "<string>"
        },
        /* REQUIRED, including all sub fields */
        driver: {
            name: "<string>",
            version: "<string>"
        },
        /* REQUIRED */
        os: {
            type: "<string>",         /* REQUIRED */
            name: "<string>",         /* OPTIONAL */
            architecture: "<string>", /* OPTIONAL */
            version: "<string>"       /* OPTIONAL */
        },
        /* OPTIONAL */
        platform: "<string>"
    }
})



 Comments   
Comment by David Golden [ 01/Aug/16 ]

We're not going to implement this feature on the legacy driver.

Generated at Wed Feb 07 22:00:59 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.