Add special interface to represent local VMCI context.

This commit is contained in:
Ilya Kulakov 2015-12-14 19:18:43 +06:00
parent 301989614f
commit 3caa637e1b
2 changed files with 9 additions and 1 deletions

View File

@ -34,7 +34,7 @@ colon and the TCP port number to use.
An 'interface' may be specified by either of the following:
* The wild-card `*`, meaning all available interfaces.
* An integer returned by `VMCISock_GetLocalCID`
* An integer returned by `VMCISock_GetLocalCID` or `@` (ZeroMQ will call VMCISock_GetLocalCID internally).
The port may be specified by:

View File

@ -77,6 +77,14 @@ int zmq::vmci_address_t::resolve(const char *path_)
errno = EINVAL;
return -1;
}
else if (addr_str == "@") {
cid = VMCISock_GetLocalCID();
if (cid == VMADDR_CID_ANY) {
errno = ENODEV;
return -1;
}
}
else if (addr_str != "*" && addr_str != "-1") {
const char *begin = addr_str.c_str();
char *end = NULL;