>::policy OtherSocketPolicy;
typedef senf::SocketHandle<OtherSocketPolicy> OtherSocketHandle;
+ typedef senf::MakeSocketPolicy<
+ senf::test::SomeCommunicationPolicy,
+ senf::test::SomeAddressingPolicy
+ >::policy AnotherSocketPolicy;
+ typedef senf::SocketHandle<AnotherSocketPolicy> AnotherSocketHandle;
+
{
MySocketHandle myh;
OtherSocketHandle osh (myh);
SomeSocketHandle ssh = senf::static_socket_cast<SomeSocketHandle>(osh);
BOOST_CHECK_NO_THROW( senf::dynamic_socket_cast<SomeSocketHandle>(osh) );
+ BOOST_CHECK_NO_THROW( senf::dynamic_socket_cast<AnotherSocketHandle>(osh) );
typedef senf::SocketHandle< senf::MakeSocketPolicy<
OtherSocketPolicy,
"socket.protocol: senf::test::SomeSocketProtocol\n"
"socket.protocol.policy: senf::SocketPolicy<senf::test::SomeAddressingPolicy, senf::test::SomeFramingPolicy, senf::test::SomeCommunicationPolicy, senf::test::SomeReadPolicy, senf::test::SomeWritePolicy>\n"
"socket.server: false\n" );
+
+ BOOST_CHECK_NO_THROW( myh.facet<senf::test::SomeSocketProtocol>() );
}
// Ensure, the destructor is called and calls the correct close() implementation