Hi,
I have just read through the VMCI socket guide and it looks to me that there are things that have been removed from the old VMCI implementation that are useful. In my current VMCI implementation I use the "VMCIDs_Register" call to register my VMCI server service as "IP-address:port", this allows me to address both IP and VMCI based sockets in the same way.
i.e.
-
sock = new Socket(host, port);
sock = new VmciSocket(host, port) ;
-
In the new API it's harder to hide the VMCI low level information and the result is that it propagates up into the higher levels of abstraction.
i.e.
-
sock = new VmciSocket(cid, port);
-
I would like to use both VMCI and ordinary IP-sockets and the CID information is really not necessary, it also breaks the socket contract. I would like the possibility to set an alias for a server service as was possible in the datagram implementation of VMCI (WS 6.0.x).
i.e.
-
// Server code...
service = IP-address;
VMCIDs_Register(service); // Bind an alias to servers CID
// Client code...
struct sockaddr_vm my_addr = ;
my_addr.svm_family = afVMCI;
my_addr.svm_cid = service;
my_addr.svm_port = port;
...
-
Is this possible with the new architecture or do I have to create a workaround?
Kind Regards
Andreas