22 #ifndef XAPIAN_INCLUDED_REMOTESERVER_H
23 #define XAPIAN_INCLUDED_REMOTESERVER_H
34 #include <string_view>
86 unsigned char type_as_char =
static_cast<unsigned char>(type);
92 void msg_allterms(std::string_view message);
96 void msg_document(std::string_view message);
100 void msg_termexists(std::string_view message);
104 void msg_collfreq(std::string_view message);
108 void msg_termfreq(std::string_view message);
112 void msg_freqs(std::string_view message);
116 void msg_valuestats(std::string_view message);
120 void msg_keepalive(std::string_view message);
124 void msg_doclength(std::string_view message);
128 void msg_query(std::string_view message);
132 void msg_termlist(std::string_view message);
136 void msg_postlist(std::string_view message);
140 void msg_positionlist(std::string_view message);
144 void msg_positionlistcount(std::string_view message);
148 void msg_writeaccess(std::string_view message);
152 void msg_reopen(std::string_view message);
156 void msg_update(std::string_view message);
160 void msg_commit(std::string_view message);
164 void msg_cancel(std::string_view message);
168 void msg_adddocument(std::string_view message);
172 void msg_deletedocument(std::string_view message);
176 void msg_deletedocumentterm(std::string_view message);
180 void msg_replacedocument(std::string_view message);
184 void msg_replacedocumentterm(std::string_view message);
188 void msg_getmetadata(std::string_view message);
192 void msg_metadatakeylist(std::string_view message);
196 void msg_setmetadata(std::string_view message);
200 void msg_requestdocument(std::string_view message);
204 void msg_addspelling(std::string_view message);
208 void msg_removespelling(std::string_view message);
212 void msg_uniqueterms(std::string_view message);
216 void msg_wdfdocmax(std::string_view message);
220 void msg_reconstructtext(std::string_view message);
224 void msg_synonymtermlist(std::string_view message);
228 void msg_synonymkeylist(std::string_view message);
232 void msg_addsynonym(std::string_view message);
236 void msg_removesynonym(std::string_view message);
240 void msg_clearsynonyms(std::string_view message);
257 double active_timeout_,
258 double idle_timeout_,
259 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