Provides I/O sockets to address and resolve targets for I/O operations. Similar to network sockets, I/O sockets are a very powerful concept: They support input, output, copying, caching, proxying etc. of the contents of a generic local target and an optional peer target. By using I/O sockets, you'll never have to write a fast {@link de.schlichtherle.truezip.socket.IOSocket#copy copy} routine again.
In order to maximize the versatility of I/O sockets, it's highly recommended for any implementation that it performs any I/O initialization lazily. That is, creating a socket should never throw a {@link java.io.IOException}. If initializing I/O is required, it should be done in any of the methods provided by the socket instead.