BSDAddressingPolicy.cti
Go to the documentation of this file.
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00027
00028
00029
00030
00031 #define prefix_ inline
00032
00033
00034
00035
00036
00037 #ifndef DOXYGEN
00038 template <class Address>
00039 template <class SPolicy>
00040 prefix_ void senf::BSDAddressingPolicyMixin<Address>::
00041 peer(SocketHandle<SPolicy> const & handle, Address & addr,
00042 typename IfCommunicationPolicyIs<SPolicy,ConnectedCommunicationPolicy>::type *)
00043 {
00044 try {
00045 do_peer(handle,addr.sockaddr_p(),addr.socklen_p());
00046 } catch (Exception & e) {
00047 e << "; could not get peer for address \"" << addr << "\"";
00048 throw;
00049 }
00050 }
00051 #else
00052 template <class Address>
00053 template <class SPolicy>
00054 prefix_ void senf::BSDAddressingPolicyMixin<Address>::
00055 peer(SocketHandle<SPolicy> const & handle, Address & addr)
00056 {}
00057 #endif
00058
00059 #ifndef DOXYGEN
00060 template <class Address>
00061 template <class SPolicy>
00062 prefix_ void senf::BSDAddressingPolicyMixin<Address>::
00063 connect(SocketHandle<SPolicy> const & handle, Address const & addr,
00064 typename IfCommunicationPolicyIs<SPolicy,ConnectedCommunicationPolicy>::type *)
00065 {
00066 try {
00067 do_connect(handle,addr.sockaddr_p(),addr.socklen());
00068 } catch (Exception & e) {
00069 e << "; could not connect to address \"" << addr << "\"";
00070 throw;
00071 }
00072 }
00073 #else
00074 template <class Address>
00075 template <class SPolicy>
00076 prefix_ void senf::BSDAddressingPolicyMixin<Address>::
00077 connect(SocketHandle<SPolicy> const & handle, Address const & addr)
00078 {}
00079 #endif
00080
00081 template <class Address>
00082 prefix_ void senf::BSDAddressingPolicyMixin<Address>::local(FileHandle const & handle,
00083 Address & addr)
00084 {
00085 try {
00086 do_local(handle,addr.sockaddr_p(),addr.socklen_p());
00087 } catch (Exception & e) {
00088
00089 e << "; could not get name for address \"" << addr << "\"";
00090 throw;
00091 }
00092 }
00093
00094 template <class Address>
00095 prefix_ void senf::BSDAddressingPolicyMixin<Address>::bind(FileHandle const & handle,
00096 Address const & addr)
00097 {
00098 try {
00099 do_bind(handle,addr.sockaddr_p(),addr.socklen());
00100 } catch (Exception & e) {
00101 e << "; could not bind to address \"" << addr << "\"";
00102 throw;
00103 }
00104 }
00105
00106
00107 #undef prefix_
00108
00109
00110
00111
00112
00113
00114
00115
00116
00117
00118