[SERVER-19220] have NetworkInterfaceASIO set up its own sockets Created: 29/Jun/15 Updated: 05/Feb/16 Resolved: 07/Jul/15 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Networking |
| Affects Version/s: | 3.1.5 |
| Fix Version/s: | 3.1.6 |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Samantha Ritter (Inactive) | Assignee: | Samantha Ritter (Inactive) |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Backwards Compatibility: | Minor Change |
| Sprint: | Platform 6 07/17/15 |
| Participants: |
| Comments |
| Comment by Adam Midvidy [ 14/Jul/15 ] | ||||||
|
There actually is a minor backwards compatibility change here regarding how we handle DNS resolution. In the old networking code we only attempt to connect to the first address that getaddrinfo() returns. See the following code from sock.cpp
As the TODO says, we ignore the other entries of the linked list and only (later) attempt to connect to the first one. From the getaddrinfo manpage:
ASIO will actually do this for us in async_connect; it will iterate the entries for us until it successfully connects (or all the attempts fail). Doc for async_connect:
I think this is a desirable behavior change (thus the TODO), but it is something we should probably note in the release notes - cc milkie, acm | ||||||
| Comment by Githook User [ 07/Jul/15 ] | ||||||
|
Author: {u'username': u'samantharitter', u'name': u'Samantha Ritter', u'email': u'samantha.ritter@10gen.com'}Message: | ||||||
| Comment by Githook User [ 07/Jul/15 ] | ||||||
|
Author: {u'username': u'samantharitter', u'name': u'Samantha Ritter', u'email': u'samantha.ritter@10gen.com'}Message: | ||||||
| Comment by Githook User [ 07/Jul/15 ] | ||||||
|
Author: {u'username': u'samantharitter', u'name': u'Samantha Ritter', u'email': u'samantha.ritter@10gen.com'}Message: | ||||||
| Comment by Samantha Ritter (Inactive) [ 30/Jun/15 ] | ||||||
|
Yes, adam.midvidy, ASIO provides that functionality. | ||||||
| Comment by Adam Midvidy [ 29/Jun/15 ] | ||||||
|
note that this should also include async dns resolution |