[pan2: 129/268] moved xzver support to "experimental"
- From: Heinrich MÃller <henmull src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [pan2: 129/268] moved xzver support to "experimental"
- Date: Mon, 2 Jan 2012 15:48:50 +0000 (UTC)
commit 8f91ce0c2c40d41e9bce8d3759ed6d44fcbc7601
Author: Heinrich MÃller <sphemuel stud informatik uni-erlangen de>
Date: Tue Jul 12 21:18:36 2011 +0200
moved xzver support to "experimental"
pan/general/debug.cc | 2 -
pan/general/debug.h | 2 -
pan/gui/pan.cc | 2 -
pan/tasks/nntp.cc | 23 +--------
pan/tasks/nntp.h | 11 +----
pan/tasks/task-xover.cc | 132 +---------------------------------------------
pan/tasks/task-xover.h | 8 +---
7 files changed, 7 insertions(+), 173 deletions(-)
---
diff --git a/pan/general/debug.cc b/pan/general/debug.cc
index 749f27f..d3b549f 100644
--- a/pan/general/debug.cc
+++ b/pan/general/debug.cc
@@ -6,6 +6,4 @@ namespace pan
bool _debug_flag = false;
bool _debug_verbose_flag = false;
- // imhotep
- bool _xzver_support = false;
}
diff --git a/pan/general/debug.h b/pan/general/debug.h
index 1d06c0f..ebaed84 100644
--- a/pan/general/debug.h
+++ b/pan/general/debug.h
@@ -27,8 +27,6 @@ namespace pan
extern bool _debug_flag;
extern bool _debug_verbose_flag;
- // imhotep
- extern bool _xzver_support;
}
#define LINE_ID '(' << __FILE__ << ':' << __LINE__ << ':' << __func__ << ')'
diff --git a/pan/gui/pan.cc b/pan/gui/pan.cc
index c3afc2f..5d8a8e4 100644
--- a/pan/gui/pan.cc
+++ b/pan/gui/pan.cc
@@ -286,8 +286,6 @@ main (int argc, char *argv[])
nzb_output_path = tok+9;
else if (!strcmp(tok,"-h") || !strcmp(tok,"--help"))
{ usage (); return 0; }
- else if (!strcmp(tok,"--xzver"))
- _xzver_support = true;
else {
nzb = true;
nzb_files.push_back (tok);
diff --git a/pan/tasks/nntp.cc b/pan/tasks/nntp.cc
index f4cb2c7..b284996 100644
--- a/pan/tasks/nntp.cc
+++ b/pan/tasks/nntp.cc
@@ -63,7 +63,6 @@ NNTP :: fire_done_func (Health health, const StringView& response)
debug ("I (" << (void*)this << ") am setting my _listener to 0");
_listener = 0;
l->on_nntp_done (this, health, response);
- _xzver = false;
}
}
@@ -79,7 +78,7 @@ NNTP :: on_socket_response (Socket * sock UNUSED, const StringView& line_in)
StringView line (line_in);
// strip off trailing \r\n
- if (line.len>=2 && line.str[line.len-2]=='\r' && line.str[line.len-1]=='\n' && !_xzver)
+ if (line.len>=2 && line.str[line.len-2]=='\r' && line.str[line.len-1]=='\n')
line.truncate (line.len-2);
// std::cerr <<"_nntp_response_text: " << _nntp_response_text<<std::endl;
@@ -94,7 +93,7 @@ NNTP :: on_socket_response (Socket * sock UNUSED, const StringView& line_in)
{
state = CMD_MORE;
- if (line.len>=2 && line.str[0]=='.' && line.str[1]=='.' && !_xzver) // rfc 977: 2.4.1
+ if (line.len>=2 && line.str[0]=='.' && line.str[1]=='.') // rfc 977: 2.4.1
line.rtruncate (line.len-1);
assert (_listener != 0);
@@ -319,24 +318,6 @@ NNTP :: xover (const Quark & group,
}
void
-NNTP :: xzver (const Quark & group,
- uint64_t low,
- uint64_t high,
- Listener * l)
-{
- _listener = l;
- _xzver = true;
-
- if (group != _group)
- _commands.push_back (build_command ("GROUP %s\r\n", group.c_str()));
-
- _commands.push_back (build_command ("XZVER %"G_GUINT64_FORMAT"-%"G_GUINT64_FORMAT"\r\n", low, high));
-
- write_next_command ();
-}
-
-
-void
NNTP :: list_newsgroups (Listener * l)
{
_listener = l;
diff --git a/pan/tasks/nntp.h b/pan/tasks/nntp.h
index c83de4b..3c11970 100644
--- a/pan/tasks/nntp.h
+++ b/pan/tasks/nntp.h
@@ -153,8 +153,7 @@ namespace pan
_listener(0),
_username(username),
_password(password),
- _nntp_response_text(false),
- _xzver(false)
+ _nntp_response_text(false)
{}
virtual ~NNTP ()
@@ -191,12 +190,6 @@ namespace pan
Listener * l);
- /** Experimental XZVER header compression support */
- void xzver (const Quark & group,
- uint64_t low,
- uint64_t high,
- Listener * l) ;
-
/**
* Executes a LIST command: "LIST"
*
@@ -310,8 +303,6 @@ namespace pan
/** True if the server told us that we're getting a list back. */
bool _nntp_response_text;
- bool _xzver;
-
typedef std::deque<std::string> strings_t;
strings_t _commands;
std::string _previous_command;
diff --git a/pan/tasks/task-xover.cc b/pan/tasks/task-xover.cc
index 8b48c7c..a027d89 100644
--- a/pan/tasks/task-xover.cc
+++ b/pan/tasks/task-xover.cc
@@ -110,19 +110,9 @@ TaskXOver :: TaskXOver (Data & data,
_bytes_so_far (0),
_parts_so_far (0ul),
_articles_so_far (0ul),
- _total_minitasks (0),
- _running_minitasks (0),
- _xzver (_xzver_support)
+ _total_minitasks (0)
{
-
-
- if (_xzver)
- {
- char buf[4096];
- _headers.open(build_cachename(buf,sizeof(buf), "xzver_test"), std::ios::out | std::ios::binary);
- }
-
debug ("ctor for " << group);
// add a ``GROUP'' MiniTask for each server that has this group
@@ -185,11 +175,7 @@ TaskXOver :: use_nntp (NNTP* nntp)
case MiniTask::XOVER:
debug ("XOVER " << mt._low << '-' << mt._high << " to " << server);
_last_xover_number[nntp] = mt._low;
- if (_xzver)
- nntp->xzver (_group, mt._low, mt._high, this);
- else
- nntp->xover (_group, mt._low, mt._high, this);
- --_running_minitasks;
+ nntp->xover (_group, mt._low, mt._high, this);
break;
default:
assert (0);
@@ -243,7 +229,7 @@ TaskXOver :: on_nntp_group (NNTP * nntp,
{
//std::cerr << LINE_ID << " okay, I'll try to get articles in [" << l << "..." << h << ']' << std::endl;
add_steps (h-l);
- int INCREMENT = _xzver ? 100000 : 1000;
+ const int INCREMENT(1000);
MiniTasks_t& minitasks (_server_to_minitasks[servername]);
for (uint64_t m=l; m<=h; m+=INCREMENT) {
MiniTask mt (MiniTask::XOVER, m, m+INCREMENT);
@@ -251,7 +237,6 @@ TaskXOver :: on_nntp_group (NNTP * nntp,
minitasks.push_front (mt);
++_total_minitasks;
}
- _running_minitasks = _total_minitasks;
}
else
{
@@ -302,21 +287,6 @@ TaskXOver :: on_nntp_line (NNTP * nntp,
const StringView & line)
{
- if (_xzver ) {
- if (line.strstr("=ybegin line=128"))
- _headers << line.str << " name=xzver_decoded\n";
- else
- _headers << line.str <<"\n";
- }
- else
- on_nntp_line_process (nntp, line);
-}
-
-void
-TaskXOver :: on_nntp_line_process (NNTP * nntp,
- const StringView & line)
-{
-
pan_return_if_fail (nntp != 0);
pan_return_if_fail (!nntp->_server.empty());
pan_return_if_fail (!nntp->_group.empty());
@@ -414,8 +384,6 @@ TaskXOver :: on_nntp_done (NNTP * nntp,
Health health,
const StringView & response UNUSED)
{
- if (_running_minitasks == 0 && _xzver) process_headers(nntp);
-
update_work (true);
check_in (nntp, health);
}
@@ -445,100 +413,6 @@ TaskXOver :: update_work (bool subtract_one_from_nntp_count)
}
}
-namespace
-{
-
- #define CHUNK 16384
-
- int inf(FILE *source, FILE *dest)
- {
- int ret;
- unsigned have;
- z_stream strm;
- unsigned char in[CHUNK];
- unsigned char out[CHUNK];
-
- /* allocate inflate state */
- strm.zalloc = Z_NULL;
- strm.zfree = Z_NULL;
- strm.opaque = Z_NULL;
- strm.avail_in = 0;
- strm.next_in = Z_NULL;
- ret = inflateInit2(&strm,-15); //raw inflate
- if (ret != Z_OK)
- return ret;
-
- /* decompress until deflate stream ends or end of file */
- do {
- strm.avail_in = fread(in, 1, CHUNK, source);
- if (ferror(source)) {
- (void)inflateEnd(&strm);
- return Z_ERRNO;
- }
- if (strm.avail_in == 0)
- break;
- strm.next_in = in;
-
- /* run inflate() on input until output buffer not full */
- do {
- strm.avail_out = CHUNK;
- strm.next_out = out;
- ret = inflate(&strm, Z_NO_FLUSH);
- assert(ret != Z_STREAM_ERROR); /* state not clobbered */
- switch (ret) {
- case Z_NEED_DICT:
- ret = Z_DATA_ERROR; /* and fall through */
- case Z_DATA_ERROR:
- case Z_MEM_ERROR:
- (void)inflateEnd(&strm);
- return ret;
- }
- have = CHUNK - strm.avail_out;
- if (fwrite(out, 1, have, dest) != have || ferror(dest)) {
- (void)inflateEnd(&strm);
- return Z_ERRNO;
- }
- } while (strm.avail_out == 0);
-
- /* done when inflate() says it's done */
- } while (ret != Z_STREAM_END);
-
- /* clean up and return */
- (void)inflateEnd(&strm);
- return ret == Z_STREAM_END ? Z_OK : Z_DATA_ERROR;
- }
-}
-
-void
- TaskXOver :: process_headers (NNTP* nntp)
-{
- char buf[4096];
-
- _headers.close();
- /* yenc-decode */
- UUInitialize ();
- UULoadFile (build_cachename(buf,sizeof(buf), "xzver_test"), 0, 1);
- UUDecodeFile (UUGetFileListItem (0), build_cachename(buf,sizeof(buf), "xzver_decoded"));
- UUCleanUp ();
-
- /* raw zlib inflate */
- FILE * in = fopen (buf, "rb");
- FILE * out = fopen (build_cachename(buf,sizeof(buf), "xzver_out"), "wb");
- int res(Z_OK);
- if (in && out) res = inf (in,out);
-
- /* feed to on_nntp_line */
- if (in) fclose(in);
- if (out) fclose(out);
- if (res==Z_OK)
- {
- std::ifstream f(buf, std::ios::in);
- char buf[4096];
- while (f.getline(buf,sizeof(buf))) on_nntp_line_process(nntp,StringView(buf));
- }
-
-}
-
unsigned long
TaskXOver :: get_bytes_remaining () const
{
diff --git a/pan/tasks/task-xover.h b/pan/tasks/task-xover.h
index ba146e1..d1784de 100644
--- a/pan/tasks/task-xover.h
+++ b/pan/tasks/task-xover.h
@@ -50,7 +50,6 @@ namespace pan
virtual void use_nntp (NNTP * nntp);
private: // NNTP::Listener
- void on_nntp_line_process (NNTP*, const StringView&);
virtual void on_nntp_line (NNTP*, const StringView&);
virtual void on_nntp_done (NNTP*, Health, const StringView&);
virtual void on_nntp_group (NNTP*, const Quark&, unsigned long, uint64_t, uint64_t);
@@ -68,7 +67,6 @@ namespace pan
server_to_minitasks_t _server_to_minitasks;
private: // implementation
- void process_headers (NNTP*);
Data& _data;
const Quark _group;
std::string _short_group_name;
@@ -84,12 +82,8 @@ namespace pan
unsigned long _bytes_so_far;
unsigned long _parts_so_far;
unsigned long _articles_so_far;
- unsigned long _lines_so_far;
unsigned long _total_minitasks;
- int _running_minitasks;
- bool _xzver;
-// FILE * _headers;
- std::ofstream _headers;
+
};
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]