X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Socket%2FProtocols%2FGenericAddressingPolicy.cti;h=6cba6c2a9c9aa2dcdb10172ee14717c6598d7890;hb=3cb0a2ff50b8f1111da34b696e64fb1b037cd683;hp=2eaf5c888559d37ea14892c500de4846134cd22d;hpb=a1a6c76a214ad1935032826713cabaf9ac57bf07;p=senf.git diff --git a/Socket/Protocols/GenericAddressingPolicy.cti b/Socket/Protocols/GenericAddressingPolicy.cti index 2eaf5c8..6cba6c2 100644 --- a/Socket/Protocols/GenericAddressingPolicy.cti +++ b/Socket/Protocols/GenericAddressingPolicy.cti @@ -42,7 +42,12 @@ peer(SocketHandle handle, Address & addr, typename IfCommunicationPolicyIs::type *) { addr.clear(); - do_peer(handle,addr.sockaddr_p(),addr.sockaddr_len()); + try { + do_peer(handle,addr.sockaddr_p(),addr.sockaddr_len()); + } catch (Exception & e) { + e << "; could not get peer for address \"" << addr << "\""; + throw; + } } #else template @@ -59,7 +64,12 @@ prefix_ void senf::GenericAddressingPolicy
:: connect(SocketHandle handle, Address const & addr, typename IfCommunicationPolicyIs::type *) { - do_connect(handle,addr.sockaddr_p(),addr.sockaddr_len()); + try { + do_connect(handle,addr.sockaddr_p(),addr.sockaddr_len()); + } catch (Exception & e) { + e << "; could not connect to address \"" << addr << "\""; + throw; + } } #else template @@ -74,14 +84,25 @@ prefix_ void senf::GenericAddressingPolicy
::local(FileHandle handle, Address & addr) { addr.clear(); - do_local(handle,addr.sockaddr_p(),addr.sockaddr_len()); + try { + do_local(handle,addr.sockaddr_p(),addr.sockaddr_len()); + } catch (Exception & e) { + // TODO: identify socket by some meaningful attribute + e << "; could not get name for address \"" << addr << "\""; + throw; + } } template prefix_ void senf::GenericAddressingPolicy
::bind(FileHandle handle, Address const & addr) { - do_bind(handle,addr.sockaddr_p(),addr.sockaddr_len()); + try { + do_bind(handle,addr.sockaddr_p(),addr.sockaddr_len()); + } catch (Exception & e) { + e << "; could not bind to address \"" << addr << "\""; + throw; + } } ///////////////////////////////cti.e///////////////////////////////////////