At present Ice doesn't support flexible way to get properties for incoming connection for given method invocation. We can get only generic connection interface via con member of Current parameter.
I't ok in many Ice applications, but when, f.e Glacier2, want to query some impotant information from SSL connection, here is no way to get them, because all necessary data stored in transciever. I can't find the way how to access transiever from invoked method.
I will use a solution which will allow me to solve the given problem. Unfortunately it will lead to small incompatibility of interfaces.
Possible solution:
Are there any plans to implement such thing (in same or another way), or i can write my own implementation because this feature will not implemented in near feature.Code:local interface Connection { ... string getProperty(string name); // for single values, like peerAddr PropertyDict getPropertyDict(string name); // for multiply values like certificate chain } std::string Ice::ConnectionI::getProperty(std::string name) { if (_transciever) return _transciever->getProperty(name); else return ""; // or some exception. no matter. } PropertyDict Ice::ConnectionI::getPropertyDict(std::string name) { if (_transciever) return _transciever->getPropertyDict(name); else return PropertyDict(); // or some exception. no matter. }
(This modification will be used in GPL project, so no commercial support possible )

Reply With Quote
because no huge work needed. We can introduce ConnectionExtended and all old clients will use Connection, and new will use ConnectionExtended. In the feature, all *Connection hierarcy will inherit from ConnectionExtended.
. Offline multiuser client for 