X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Socket%2FProtocols%2FGenericAddressingPolicy.cti;h=6cba6c2a9c9aa2dcdb10172ee14717c6598d7890;hb=22e56fa8ef4cea3fd55c9463ecd2af8a6fbd213d;hp=d003fffa9e813a5a1f0613f5e5fd8557d37ebdba;hpb=c778649a04a9835ecaad9108b9613832d76c2d15;p=senf.git diff --git a/Socket/Protocols/GenericAddressingPolicy.cti b/Socket/Protocols/GenericAddressingPolicy.cti index d003fff..6cba6c2 100644 --- a/Socket/Protocols/GenericAddressingPolicy.cti +++ b/Socket/Protocols/GenericAddressingPolicy.cti @@ -1,8 +1,8 @@ // $Id$ // // Copyright (C) 2006 -// Fraunhofer Institute for Open Communication Systems (FOKUS) -// Competence Center NETwork research (NET), St. Augustin, GERMANY +// Fraunhofer Institute for Open Communication Systems (FOKUS) +// Competence Center NETwork research (NET), St. Augustin, GERMANY // Stefan Bund // // This program is free software; you can redistribute it and/or modify @@ -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///////////////////////////////////////