Xapian::Remote Namespace Reference

Database factory functions for the remote backend. More...

## Functions

Database | open (const std::string &host, unsigned int port, useconds_t timeout=10000, useconds_t connect_timeout=10000)
| Construct a Database object for read-only access to a remote database accessed via a TCP connection. More...
WritableDatabase | open_writable (const std::string &host, unsigned int port, useconds_t timeout=0, useconds_t connect_timeout=10000, int flags=0)
| Construct a WritableDatabase object for update access to a remote database accessed via a TCP connection. More...
Database | open (const std::string &program, const std::string &args, useconds_t timeout=10000)
| Construct a Database object for read-only access to a remote database accessed via a program. More...
WritableDatabase | open_writable (const std::string &program, const std::string &args, useconds_t timeout=0, int flags=0)
| Construct a WritableDatabase object for update access to a remote database accessed via a program. More...

## Detailed Description

Database factory functions for the remote backend.

## Function Documentation

## open() [1/2]

Database Xapian::Remote::open | ( | const std::string & | host,
|  | unsigned int | port,
|  | useconds_t | timeout = `10000`,
|  | useconds_t | connect_timeout = `10000`
| ) |  |

Construct a Database object for read-only access to a remote database accessed via a TCP connection.

Access to the remote database is via a TCP connection to the specified host and port.

Parameters

  host | hostname to connect to.
  port | port number to connect to.
  timeout | timeout in milliseconds. If this timeout is exceeded for any individual operation on the remote database then Xapian::NetworkTimeoutError is thrown. A timeout of 0 means don't timeout. (Default is 10000ms, which is 10 seconds).
  connect_timeout | timeout to use when connecting to the server. If this timeout is exceeded then Xapian::NetworkTimeoutError is thrown. A timeout of 0 means don't timeout. (Default is 10000ms, which is 10 seconds).

## open() [2/2]

Database Xapian::Remote::open | ( | const std::string & | program,
|  | const std::string & | args,
|  | useconds_t | timeout = `10000`
| ) |  |

Construct a Database object for read-only access to a remote database accessed via a program.

Access to the remote database is done by running an external program and communicating with it on stdin/stdout.

Parameters

  program | the external program to run.
  args | space-separated list of arguments to pass to program.
  timeout | timeout in milliseconds. If this timeout is exceeded for any individual operation on the remote database then Xapian::NetworkTimeoutError is thrown. A timeout of 0 means don't timeout. (Default is 10000ms, which is 10 seconds).

## open_writable() [1/2]

WritableDatabase Xapian::Remote::open_writable | ( | const std::string & | host,
|  | unsigned int | port,
|  | useconds_t | timeout = `0`,
|  | useconds_t | connect_timeout = `10000`,
|  | int | flags = `0`
| ) |  |

Construct a WritableDatabase object for update access to a remote database accessed via a TCP connection.

Access to the remote database is via a TCP connection to the specified host and port.

Parameters

  host | hostname to connect to.
  port | port number to connect to.
  timeout | timeout in milliseconds. If this timeout is exceeded for any individual operation on the remote database then Xapian::NetworkTimeoutError is thrown. (Default is 0, which means don't timeout).
  connect_timeout | timeout to use when connecting to the server. If this timeout is exceeded then Xapian::NetworkTimeoutError is thrown. A timeout of 0 means don't timeout. (Default is 10000ms, which is 10 seconds).
  flags | Xapian::DB_RETRY_LOCK or 0.

## open_writable() [2/2]

WritableDatabase Xapian::Remote::open_writable | ( | const std::string & | program,
|  | const std::string & | args,
|  | useconds_t | timeout = `0`,
|  | int | flags = `0`
| ) |  |

Construct a WritableDatabase object for update access to a remote database accessed via a program.

Access to the remote database is done by running an external program and communicating with it on stdin/stdout.

Parameters

  program | the external program to run.
  args | space-separated list of arguments to pass to program.
  timeout | timeout in milliseconds. If this timeout is exceeded for any individual operation on the remote database then Xapian::NetworkTimeoutError is thrown. (Default is 0, which means don't timeout).
  flags | Xapian::DB_RETRY_LOCK or 0.