+
+/**
+ * Class representing an on-going communication with an IR server.
+ *
+ * Creating an instance of this class does not automatically connect (e.g open
+ * a socket) to the remote server as the programmer may want to specify options
+ * on the object before establishing the actual connection.
+ *
+ * The worflow for synchronous (the only addressed) operation when using this
+ * class should be as follows (in pseudocode):
+ *
+ * <blockquote><pre>
+ *
+ * try {
+ * c = new Connection(...)
+ * //possibly set some options
+ * c.connect //establishes connection
+ * c.search //or other operation
+ * //possibly retrieve records
+ * catch (ZoomException e) {
+ * //handle any protocol- or network-level errors
+ * } finally {
+ * c.close //close the socket
+ * }
+ *
+ * </pre></blockquote>
+ * @author jakub
+ */