All Downloads are FREE. Search and download functionalities are using the official Maven repository.

widebase.stream.socket.cq.package.scala Maven / Gradle / Ivy

There is a newer version: 0.3.3
Show newest version
package widebase.stream.socket

import vario.filter. { CompressionLevel, StreamFilter }

import widebase.stream.handler.AuthMap

/** Socket CQ package
 *
 * Example how to create a client:
 *
 * {{{
 * val client = cq.client
 * try {
 *   client.login("client", "password")
 * } finally {
 *   client.close
 * }
 * }}}
 *
 * Example how to create a server:
 *
 * {{{
 * val server = cq.server
 * server.auths("auths.properties")
 * try {
 *   server.bind.await
 * } finally {
 *   server.close
 * }
 * }}}
 *
 * @author myst3r10n
 */
package object cq {

  import vario.filter.StreamFilter.StreamFilter

  import widebase.stream.socket

  /** Create [[widebase.stream.socket.cq.Client]] instance.
   *
   * @param host of server, default `localhost`
   * @param port of server, default `50000`
   * @param filter0 of socket I/O
   *
   * @return instance of [[widebase.stream.socket.cq.Client]]
   */
  def client(implicit
    host: String = "localhost",
    port: Int = 50000,
    filter0: String = "") =
    new Client(host, port) {

      filter(filter0)

    }

  /** Create [[widebase.stream.socket.cq.Server]] instance.
   *
   * @param auths authorization map, default disabled
   * @param filter0 of socket I/O
   *
   * @return instance of [[widebase.stream.socket.cq.Server]]
   */
  def server(implicit auths: AuthMap = null, filter0: String = "") =
    new Server(auths) {

      filter(filter0)

    }
}





© 2015 - 2024 Weber Informatics LLC | Privacy Policy