22 #ifndef XAPIAN_INCLUDED_REMOTESERVER_H 23 #define XAPIAN_INCLUDED_REMOTESERVER_H 82 unsigned char type_as_char =
static_cast<unsigned char>(type);
87 void msg_allterms(
const std::string & message);
90 void msg_document(
const std::string & message);
93 void msg_termexists(
const std::string & message);
96 void msg_collfreq(
const std::string & message);
99 void msg_termfreq(
const std::string & message);
102 void msg_freqs(
const std::string & message);
105 void msg_valuestats(
const std::string & message);
108 void msg_keepalive(
const std::string & message);
111 void msg_doclength(
const std::string & message);
114 void msg_query(
const std::string & message);
117 void msg_termlist(
const std::string & message);
120 void msg_postlist(
const std::string & message);
123 void msg_positionlist(
const std::string &message);
126 void msg_writeaccess(
const std::string & message);
129 void msg_reopen(
const std::string & message);
132 void msg_update(
const std::string &message);
135 void msg_commit(
const std::string & message);
138 void msg_cancel_(
const std::string &message);
141 void msg_adddocument(
const std::string & message);
144 void msg_deletedocument(
const std::string & message);
147 void msg_deletedocumentterm_(
const std::string & message);
150 void msg_replacedocument_(
const std::string & message);
153 void msg_replacedocumentterm(
const std::string & message);
156 void msg_getmetadata(
const std::string & message);
159 void msg_openmetadatakeylist(
const std::string & message);
162 void msg_setmetadata_(
const std::string & message);
165 void msg_addspelling_(
const std::string & message);
168 void msg_removespelling(
const std::string & message);
171 void msg_uniqueterms(
const std::string & message);
174 void msg_deletedocumentterm(
const std::string & message);
177 void msg_replacedocument(
const std::string & message);
180 void msg_cancel(
const std::string &message);
183 void msg_setmetadata(
const std::string & message);
186 void msg_addspelling(
const std::string & message);
203 double active_timeout_,
204 double idle_timeout_,
205 bool writable =
false);
221 #endif // XAPIAN_INCLUDED_REMOTESERVER_H A RemoteConnection object provides a bidirectional connection to another RemoteConnection object on a...
RemoteConnection class used by the remote backend.
int get_message(std::string &result, double end_time)
Read one message from fdin.
This class is used to access a database, or a group of databases.
unsigned timeout
A timeout value in milliseconds.
Xapian::WritableDatabase * wdb
The WritableDatabase we're using, or NULL if we're read-only.
double end_time(double timeout)
Return the end time for a timeout in timeout seconds.
External sources of posting information.
Xapian::Registry reg
The registry, which allows unserialisation of user subclasses.
reply_type
Reply types (server -> client).
double active_timeout
Timeout for actions during a conversation.
#define XAPIAN_VISIBILITY_DEFAULT
bool writable
Do we support writing?
This class provides read/write access to a database.
Define XAPIAN_VISIBILITY_* macros.
Registry for user subclasses.
API for working with Xapian databases.
void send_message(reply_type type, const std::string &message, double end_time)
Send a message to the client, with specific end_time.
double idle_timeout
Timeout while waiting for a new action from the client.
void set_registry(const Xapian::Registry ®_)
Set the registry used for (un)serialisation.
Xapian::Database * db
The database we're using.
message_type
Message types (client -> server).
void send_message(char type, const std::string &s, double end_time)
Send a message.
Remote backend server base class.
void operator=(const RemoteConnection &)
Don't allow assignment.
Class for looking up user subclasses during unserialisation.