#include "Server.ih"
// Custom includes
-#include <unistd.h>
#include <iostream>
#include <boost/algorithm/string/trim.hpp>
#include <boost/iostreams/device/file_descriptor.hpp>
: out_t(boost::ref(*this)), senf::log::IOStreamTarget(out_t::member), server_ (server),
handle_ (handle), name_ (name), reader_ (new detail::SafeReadlineClientReader (*this))
{
+ executor_.autocd(true).autocomplete(true);
handle_.facet<senf::TCPSocketProtocol>().nodelay();
// route< senf::SenfLog, senf::log::NOTICE >();
}
reader_->enablePrompt();
}
+prefix_ std::ostream & senf::console::operator<<(std::ostream & os, Client const & client)
+{
+ // typedef senf::ClientSocketHandle<MakeSocketPolicy<INet4AddressingPolicy>::policy > v4Socket;
+ if( senf::check_socket_cast<TCPv4ServerSocketHandle::ClientSocketHandle>( client.handle())) {
+ os<<senf::dynamic_socket_cast<TCPv4ServerSocketHandle::ClientSocketHandle>( client.handle()).peer();
+ }
+ else if( senf::check_socket_cast<TCPv6ServerSocketHandle::ClientSocketHandle>( client.handle())) {
+ os<<senf::dynamic_socket_cast<TCPv6ServerSocketHandle::ClientSocketHandle>( client.handle()).peer();
+ }
+ else{
+ os<<((void *)&client);
+ }
+ return os;
+}
+prefix_ std::ostream & senf::console::operator<<(std::ostream & os, Client * client)
+{
+ return os<<*client;
+}
///////////////////////////////cc.e////////////////////////////////////////
#undef prefix_
//#include "Server.mpp"