// $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 <g0dil@berlios.de>
//
// This program is free software; you can redistribute it and/or modify
}
template <class SPolicy>
-prefix_ typename senf::ServerSocketHandle<SPolicy>::ClientSocketHandle
+prefix_ typename senf::ServerSocketHandle<SPolicy>::ClientHandle
senf::ServerSocketHandle<SPolicy>::accept()
{
- return ClientSocketHandle(this->body().clone(
- SPolicy::CommunicationPolicy::accept(*this), false));
+ return ClientHandle(this->body().clone(
+ SPolicy::CommunicationPolicy::accept(*this), false));
}
template <class SPolicy>
-prefix_ std::pair<typename senf::ServerSocketHandle<SPolicy>::ClientSocketHandle,
+prefix_ std::pair<typename senf::ServerSocketHandle<SPolicy>::ClientHandle,
typename senf::ServerSocketHandle<SPolicy>::Address>
senf::ServerSocketHandle<SPolicy>::acceptfrom()
{
Address address;
- ClientSocketHandle handle = acceptfrom(address);
+ ClientHandle handle = acceptfrom(address);
return std::make_pair(handle,address);
}
template <class SPolicy>
-prefix_ typename senf::ServerSocketHandle<SPolicy>::ClientSocketHandle
+prefix_ typename senf::ServerSocketHandle<SPolicy>::ClientHandle
senf::ServerSocketHandle<SPolicy>::acceptfrom(Address & addr)
{
- return ClientSocketHandle(this->protocol().clone(),
- SPolicy::CommunicationPolicy::accept(*this,addr));
+ return ClientHandle(this->body().clone(
+ SPolicy::CommunicationPolicy::accept(*this,addr), false));
}
///////////////////////////////////////////////////////////////////////////
prefix_ void senf::ServerSocketHandle<SPolicy>::state(SocketStateMap & map, unsigned lod)
{
map["handle"] = prettyName(typeid(*this));
- this->body().state(map,lod);
+ if (this->valid()) {
+ map["valid"] << "true";
+ this->body().state(map,lod);
+ } else
+ map["valid"] << "false";
}
template <class SPolicy>