libsocket
1.5
Main Page
Namespaces
Classes
Files
File List
File Members
socket.hxx
Go to the documentation of this file.
1
/*
2
** socket.hxx
3
** Login : Julien Lemoine <speedblue@happycoders.org>
4
** Started on Tue Jun 1 22:45:16 2004 Julien Lemoine
5
** $Id: socket.hxx,v 1.2 2004/11/14 19:37:46 speedblue Exp $
6
**
7
** Copyright (C) 2004 Julien Lemoine
8
** This program is free software; you can redistribute it and/or modify
9
** it under the terms of the GNU Lesser General Public License as published by
10
** the Free Software Foundation; either version 2 of the License, or
11
** (at your option) any later version.
12
**
13
** This program is distributed in the hope that it will be useful,
14
** but WITHOUT ANY WARRANTY; without even the implied warranty of
15
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
** GNU Lesser General Public License for more details.
17
**
18
** You should have received a copy of the GNU Lesser General Public License
19
** along with this program; if not, write to the Free Software
20
** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21
*/
22
23
#ifndef SOCKET_HXX_
24
# define SOCKET_HXX_
25
26
namespace
Network
27
{
28
inline
bool
Socket::_check_answer
(
int
res, std::string &str)
29
{
30
if
(res <= 0)
31
{
32
if
(!
_buffer
.size())
// No more data...
33
throw
ConnectionClosed(
"Connection Closed"
,
HERE
);
34
else
35
{
36
str +=
_buffer
;
37
_buffer
=
""
;
38
_state_timeout
= 0;
39
return
true
;
40
}
41
}
42
return
false
;
43
}
44
45
inline
bool
Socket::_update_buffer
(std::pair<int, int> &delim,
46
int
&i, std::string &str)
47
{
48
delim =
_find_delim
(
_buffer
, 0);
49
i = delim.first;
50
while
(!
_empty_lines
&& !i)
51
{
52
// remove delimiter in front of buffer
53
_buffer
=
_buffer
.substr(delim.second,
_buffer
.size() - delim.second);
54
delim =
_find_delim
(
_buffer
, 0);
55
i = delim.first;
56
}
57
if
((i > 0 ||
_empty_lines
) && ((
unsigned
int
)i <
_buffer
.size()))
58
{
59
str =
_buffer
.substr(0, i);
60
_buffer
=
_buffer
.substr(i + delim.second,
61
_buffer
.size() - i - delim.second);
62
return
true
;
63
}
64
else
65
return
false
;
66
}
67
}
68
69
#endif
/* !SOCKET_HXX_ */
src
socket.hxx
Generated on Thu Oct 24 2013 09:44:56 for libsocket by
1.8.4