X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FSocket%2FClientSocketHandle.ct;h=80a0f70c89118270ab8322ea75586786abb77e61;hb=8a6697d11e9a6557d9a5c42b4052666fce32bc10;hp=c6fa8fd4de22ae470902d572ce5e65b264f16bb6;hpb=601d1f509f5bb24df167a4dd5a20da67a0af9af8;p=senf.git diff --git a/senf/Socket/ClientSocketHandle.ct b/senf/Socket/ClientSocketHandle.ct index c6fa8fd..80a0f70 100644 --- a/senf/Socket/ClientSocketHandle.ct +++ b/senf/Socket/ClientSocketHandle.ct @@ -2,23 +2,28 @@ // // Copyright (C) 2006 // 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 -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 2 of the License, or -// (at your option) any later version. +// The contents of this file are subject to the Fraunhofer FOKUS Public License +// Version 1.0 (the "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// http://senf.berlios.de/license.html // -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. +// The Fraunhofer FOKUS Public License Version 1.0 is based on, +// but modifies the Mozilla Public License Version 1.1. +// See the full license text for the amendments. // -// You should have received a copy of the GNU General Public License -// along with this program; if not, write to the -// Free Software Foundation, Inc., -// 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// Software distributed under the License is distributed on an "AS IS" basis, +// WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License +// for the specific language governing rights and limitations under the License. +// +// The Original Code is Fraunhofer FOKUS code. +// +// The Initial Developer of the Original Code is Fraunhofer-Gesellschaft e.V. +// (registered association), Hansastraße 27 c, 80686 Munich, Germany. +// All Rights Reserved. +// +// Contributor(s): +// Stefan Bund /** \file \brief ClientSocketHandle non-inline template implementation @@ -29,12 +34,12 @@ // Custom includes #include #include -#include "../Utils/Buffer.hh" +#include #define prefix_ -///////////////////////////////ct.p//////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// -/////////////////////////////////////////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// // senf::detail::ReadRange template @@ -57,7 +62,7 @@ readfrom(Handle & handle, ForwardWritableRange & range, typename Handle::Address return std::copy(buffer, handle.readfrom(buffer,buffer+nread,addr), boost::begin(range)); } -/////////////////////////////////////////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// // senf::detail::WriteRange template @@ -86,10 +91,10 @@ writeto(Handle & handle, ForwardReadableRange & range, typename Handle::Address return i; } -/////////////////////////////////////////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// // senf::ClientSocketHandle -//////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// // reading and writing // senf::ClientSocketHandle::read @@ -106,10 +111,10 @@ template template prefix_ void senf::ClientSocketHandle::read(Sequence & container, unsigned limit) { - if (limit == 0) + if (limit == 0) limit = available(); container.resize(limit); - container.erase(read( std::make_pair(container.begin(), container.end()) ), + container.erase(read( std::make_pair(container.begin(), container.end()) ), container.end()); } @@ -130,15 +135,14 @@ template prefix_ void senf::ClientSocketHandle::readfrom(Sequence & container, Address & from, unsigned limit) { - unsigned nread (available()); - if (limit>0 && nread>limit) - nread = limit; - container.resize(nread); - container.erase(readfrom( std::make_pair(container.begin(), container.end()), from ), + if (limit == 0) + limit = available(); + container.resize(limit); + container.erase(readfrom( std::make_pair(container.begin(), container.end()), from ), container.end()); } -//////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// // private members // senf::ClientSocketHandle::available @@ -160,7 +164,7 @@ prefix_ unsigned senf::ClientSocketHandle::available() return nread; } -///////////////////////////////ct.e//////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// #undef prefix_