net/serialise.cc File Reference

functions to convert Xapian objects to strings and back More...

#include <config.h>
#include <xapian/document.h>
#include <xapian/error.h>
#include <xapian/positioniterator.h>
#include <xapian/termiterator.h>
#include <xapian/valueiterator.h>
#include "omassert.h"
#include "omenquireinternal.h"
#include "serialise.h"
#include "serialise-double.h"
#include "utils.h"
#include "weightinternal.h"
#include <string>
#include <cstring>
#include <xapian/errordispatch.h>

Include dependency graph for serialise.cc:

Go to the source code of this file.

Functions

size_t decode_length (const char **p, const char *end, bool check_remaining)
 Decode a length encoded by encode_length.
string serialise_error (const Xapian::Error &e)
 Serialise a Xapian::Error object to a string.
void unserialise_error (const string &serialised_error, const string &prefix, const string &new_context)
string serialise_stats (const Xapian::Weight::Internal &stats)
 Serialise a stats object.
Xapian::Weight::Internal unserialise_stats (const string &s)
 Unserialise a serialised stats object.
string serialise_mset (const Xapian::MSet &mset)
 Serialise a Xapian::MSet object.
Xapian::MSet unserialise_mset (const char *p, const char *p_end)
 Unserialise a serialised Xapian::MSet object.
string serialise_rset (const Xapian::RSet &rset)
 Serialise a Xapian::RSet object.
Xapian::RSet unserialise_rset (const string &s)
 Unserialise a serialised Xapian::RSet object.
string serialise_document (const Xapian::Document &doc)
 Serialise a Xapian::Document object.
Xapian::Document unserialise_document (const string &s)
 Unserialise a serialised Xapian::Document object.


Detailed Description

functions to convert Xapian objects to strings and back

Definition in file serialise.cc.


Function Documentation

size_t decode_length ( const char **  p,
const char *  end,
bool  check_remaining 
)

Decode a length encoded by encode_length.

Parameters:
p Pointer to a pointer to the string, which will be advanced past the encoded length.
end Pointer to the end of the string.
check_remaining Check the result against the amount of data remaining after the length has been decoded.
Returns:
The decoded length.

Definition at line 42 of file serialise.cc.

Referenced by RemoteDatabase::add_document(), Xapian::DatabaseReplica::Internal::apply_db_copy(), RemoteDatabase::apply_stats_update(), RemoteDatabase::get_collection_freq(), RemoteDatabase::get_doclength(), RemoteDatabase::get_mset(), RemoteDatabase::get_termfreq(), Xapian::ValueCountMatchSpy::merge_results(), RemoteServer::msg_addspelling(), RemoteServer::msg_deletedocument(), RemoteServer::msg_doclength(), RemoteServer::msg_document(), RemoteServer::msg_positionlist(), RemoteServer::msg_query(), RemoteServer::msg_removespelling(), RemoteServer::msg_replacedocument(), RemoteServer::msg_replacedocumentterm(), RemoteServer::msg_setmetadata(), RemoteServer::msg_termlist(), RemoteServer::msg_valuestats(), NetworkPostList::next(), RemoteDatabase::open_allterms(), RemoteDatabase::open_document(), RemoteDatabase::open_position_list(), RemoteDatabase::open_term_list(), RemoteDatabase::read_post_list(), RemoteDatabase::read_value_stats(), QUnserial::readcompound(), QUnserial::readexternal(), QUnserial::readquery(), RemoteDatabase::replace_document(), test_serialiselength1(), test_serialiselength2(), Xapian::ValueMapPostingSource::unserialise(), Xapian::ValueWeightPostingSource::unserialise(), Xapian::ValueCountMatchSpy::unserialise(), Xapian::DecreasingValueWeightPostingSource::unserialise(), unserialise_document(), unserialise_error(), unserialise_mset(), unserialise_rset(), unserialise_stats(), and Xapian::DatabaseMaster::write_changesets_to_fd().

string serialise_document ( const Xapian::Document doc  ) 

string serialise_error ( const Xapian::Error e  ) 

Serialise a Xapian::Error object to a string.

Parameters:
e The Xapian::Error object to serialise.
Returns:
Serialisation of e.

Definition at line 69 of file serialise.cc.

References encode_length(), Xapian::Error::get_context(), Xapian::Error::get_error_string(), Xapian::Error::get_msg(), and Xapian::Error::get_type().

Referenced by RemoteServer::RemoteServer(), RemoteServer::run(), and test_serialiseerror1().

string serialise_mset ( const Xapian::MSet mset  ) 

string serialise_rset ( const Xapian::RSet omrset  ) 

Serialise a Xapian::RSet object.

Parameters:
rset The object to serialise.
Returns:
The serialisation of the Xapian::RSet object.

Definition at line 268 of file serialise.cc.

References encode_length(), and Xapian::RSet::internal.

Referenced by RemoteDatabase::set_query().

string serialise_stats ( const Xapian::Weight::Internal stats  ) 

Serialise a stats object.

Parameters:
stats The stats object to serialise.
Returns:
Serialisation of stats.

Definition at line 126 of file serialise.cc.

References Xapian::Weight::Internal::collection_size, encode_length(), Xapian::Weight::Internal::rset_size, Xapian::Weight::Internal::termfreqs, and Xapian::Weight::Internal::total_length.

Referenced by RemoteServer::msg_query(), and RemoteDatabase::send_global_stats().

Xapian::Document unserialise_document ( const std::string &  s  ) 

void unserialise_error ( const string &  serialised_error,
const string &  prefix,
const string &  new_context 
)

Definition at line 85 of file serialise.cc.

References decode_length().

Referenced by RemoteDatabase::get_message(), and test_serialiseerror1().

Xapian::MSet unserialise_mset ( const char *  p,
const char *  p_end 
)

Unserialise a serialised Xapian::MSet object.

Parameters:
p Pointer to the start of the string to unserialise.
p_end Pointer to the end of the string to unserialise.
Returns:
The unserialised Xapian::MSet object.

Definition at line 218 of file serialise.cc.

References decode_length(), Xapian::MSet::Internal::TermFreqAndWeight::termfreq, Xapian::MSet::Internal::TermFreqAndWeight::termweight, and unserialise_double().

Referenced by RemoteDatabase::get_mset().

Xapian::RSet unserialise_rset ( const std::string &  s  ) 

Unserialise a serialised Xapian::RSet object.

Parameters:
s The serialised object as a string.
Returns:
The unserialised Xapian::RSet object.

Definition at line 283 of file serialise.cc.

References Xapian::RSet::add_document(), decode_length(), and Xapian::RSet::size().

Referenced by RemoteServer::msg_query().

Xapian::Weight::Internal unserialise_stats ( const std::string &  s  ) 

Unserialise a serialised stats object.

Parameters:
s The string to unserialise.
Returns:
The unserialised stats object.

Definition at line 148 of file serialise.cc.

References Xapian::Weight::Internal::collection_size, decode_length(), Xapian::Weight::Internal::rset_size, stat(), Xapian::Weight::Internal::termfreqs, and Xapian::Weight::Internal::total_length.

Referenced by RemoteDatabase::get_remote_stats(), and RemoteServer::msg_query().


Documentation for Xapian (version 1.2.8).
Generated on 14 Dec 2011 by Doxygen 1.5.9.