# Xapian::Remote Namespace Reference

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

## Functions

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

## Detailed Description

Database factory functions for the remote backend.

## Function Documentation

Database Xapian::Remote::open | ( | const std::string & | program,
|  | const std::string & | args,
|  | Xapian::timeout | 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).

Database Xapian::Remote::open | ( | const std::string & | host,
|  | unsigned int | port,
|  | Xapian::timeout | timeout = `10000`,
|  | Xapian::timeout | 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).

WritableDatabase Xapian::Remote::open_writable | ( | const std::string & | program,
|  | const std::string & | args,
|  | Xapian::timeout | timeout = `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).

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

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).