GENERAL NOTES Indigo Filer can serve a virtual root directory that is composed of zero or more shares. This "virtual" root directory, that clients see, is not a real directory on the filesystem. Its entries are user-specified shares, which do not have to be located in the same parent directory. A share can be any filesystem object (file, directory, etc.). Every share has a unique name and a path. Shared objects do not need to exist on the filesystem - in that case they do not appear in listings, and requests for them result in error responses. Shares are specified as settings in the [VirtualRoot] section in the configuration file with the following format: <share-name> = <share-path> Share names may not contain the '/' character. Share names may be percent-encoded, which is necessary for the '.' character. Share paths may be percent-encoded too. NOTE: If Server.root is set to a filesystem path, the root directory listing will contain entries of the real root, but requests with an URI other than "/" that match a share name will be served from the matching share. KNOWN ISSUES * A limitation in the POCO library prevents idle threads from being signaled to terminate if a high connection rate suddenly drops to zero. This may happen on a lightly loaded server after a short burst of requests. Normally, this should not be a problem, because this is only a temporary condition and the idle threads are terminated when new connections arrive. Also, the idle threads do not consume CPU time or large amounts of memory. To work around this, you can use the Server.collectIdleThreads option by setting it to "yes". This is safe and works in most cases, but is disabled by default, because it uses undocumented behavior. Try enabling this option if the process often has a large number of threads when new connections are not arriving. CONFIGURATION The configuration is split into several files: * indigo-filer.ini - general server settings * mime.types.user - user defined MIME types The most common general settings and their defaults are provided with the stock indigo-filer.ini file that comes with the distribution. Less common settings are not listed there by default. They are shown below. Here is the list of undocumented settings: * Server.maxKeepaliveRequests - max keepalive requests per thread; default: 0 * Server.idleTime - max thread idle time, in seconds; default: 60 * Server.threadIdleTime - internal POCO-specific, in seconds; default: 10 * Server.collectIdleThreads - see the known issues section above; default: no