Logo Search packages:      
Sourcecode: pan version File versions

pan::Article Class Reference
[Backend Interfaces]

#include <article.h>

List of all members.


Detailed Description

A Usenet article, either single-part or multipart.

To lessen the memory footprint of large binaries groups, Pan folds multipart posts into a single Article object. Only minimal information for any one part is kept (message-id, line count, byte count), and the Article object holds the rest.

This is a lossy approach: less-important unique fields, such as the part's xref and time-posted, are not needed and so we don't keep them.

Definition at line 46 of file article.h.


Public Types

typedef std::vector< Quarkmid_sequence_t
typedef std::vector< Partparts_t
enum  PartState { SINGLE, INCOMPLETE, COMPLETE }

Public Member Functions

void clear ()
unsigned long get_byte_count () const
unsigned int get_crosspost_count () const
unsigned long get_line_count () const
const Partget_part (unsigned int part_number) const
Partget_part (unsigned int part_number)
unsigned int get_part_count () const
mid_sequence_t get_part_mids () const
PartState get_part_state () const
bool is_byte_count_ge (unsigned long) const
bool is_line_count_ge (size_t test) const
void set_part_count (unsigned int)

Static Public Member Functions

static bool has_reply_leader (const StringView &)

Public Attributes

Quark author
bool is_binary
unsigned long lines
Quark message_id
parts_t parts
int score
Quark subject
time_t time_posted
Xref xref

Classes

class  Part

The documentation for this class was generated from the following files:

Generated by  Doxygen 1.6.0   Back to index