22 #ifndef XAPIAN_INCLUDED_REMOTESERVER_H
23 #define XAPIAN_INCLUDED_REMOTESERVER_H
85 unsigned char type_as_char =
static_cast<unsigned char>(type);
91 void msg_allterms(
const std::string & message);
95 void msg_document(
const std::string & message);
99 void msg_termexists(
const std::string & message);
103 void msg_collfreq(
const std::string & message);
107 void msg_termfreq(
const std::string & message);
111 void msg_freqs(
const std::string & message);
115 void msg_valuestats(
const std::string & message);
119 void msg_keepalive(
const std::string & message);
123 void msg_doclength(
const std::string & message);
127 void msg_query(
const std::string & message);
131 void msg_termlist(
const std::string & message);
135 void msg_postlist(
const std::string & message);
139 void msg_positionlist(
const std::string &message);
143 void msg_positionlistcount(
const std::string &message);
147 void msg_writeaccess(
const std::string & message);
151 void msg_reopen(
const std::string & message);
155 void msg_update(
const std::string &message);
159 void msg_commit(
const std::string & message);
163 void msg_cancel(
const std::string &message);
167 void msg_adddocument(
const std::string & message);
171 void msg_deletedocument(
const std::string & message);
175 void msg_deletedocumentterm(
const std::string & message);
179 void msg_replacedocument(
const std::string & message);
183 void msg_replacedocumentterm(
const std::string & message);
187 void msg_getmetadata(
const std::string & message);
191 void msg_metadatakeylist(
const std::string & message);
195 void msg_setmetadata(
const std::string & message);
199 void msg_requestdocument(
const std::string& message);
203 void msg_addspelling(
const std::string & message);
207 void msg_removespelling(
const std::string & message);
211 void msg_uniqueterms(
const std::string & message);
215 void msg_wdfdocmax(
const std::string& message);
219 void msg_reconstructtext(
const std::string& message);
223 void msg_synonymtermlist(
const std::string& message);
227 void msg_synonymkeylist(
const std::string& message);
231 void msg_addsynonym(
const std::string& message);
235 void msg_removesynonym(
const std::string& message);
239 void msg_clearsynonyms(
const std::string& message);
256 double active_timeout_,
257 double idle_timeout_,
258 bool writable =
false);
A RemoteConnection object provides a bidirectional connection to another RemoteConnection object on a...
void send_message(char type, std::string_view s, double end_time)
Send a message.
int get_message(std::string &result, double end_time)
Read one message from fdin.
Remote backend server base class.
void set_registry(const Xapian::Registry ®_)
Set the registry used for (un)serialisation.
double idle_timeout
Timeout while waiting for a new action from the client.
Xapian::Registry reg
The registry, which allows unserialisation of user subclasses.
double active_timeout
Timeout for actions during a conversation.
bool writable
Do we support writing?
RemoteServer(const RemoteServer &)
Don't allow copying.
void send_message(reply_type type, std::string_view message, double end_time)
Send a message to the client, with specific end_time.
void operator=(const RemoteServer &)
Don't allow assignment.
An indexed database of documents.
Registry for user subclasses.
This class provides read/write access to a database.
An indexed database of documents.
double end_time(double timeout)
Return the end time for a timeout in timeout seconds.
External sources of posting information.
Class for looking up user subclasses during unserialisation.
RemoteConnection class used by the remote backend.
message_type
Message types (client -> server).
reply_type
Reply types (server -> client).
Define XAPIAN_VISIBILITY_* macros.
#define XAPIAN_VISIBILITY_DEFAULT
#define XAPIAN_VISIBILITY_INTERNAL