/*
* Copyright 2016 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package io.vertx.proton;

import io.vertx.core.AsyncResult;
import io.vertx.core.Handler;
import io.vertx.core.Vertx;
import io.vertx.proton.sasl.ProtonSaslAuthenticatorFactory;
import io.vertx.proton.impl.ProtonServerImpl;

Author:Tim Fox
/** * @author <a href="http://tfox.org">Tim Fox</a> */
public interface ProtonServer {
Create a ProtonServer instance with the given Vertx instance.
Params:
  • vertx – the vertx instance to use
Returns:the server instance
/** * Create a ProtonServer instance with the given Vertx instance. * * @param vertx * the vertx instance to use * @return the server instance */
static ProtonServer create(Vertx vertx) { return new ProtonServerImpl(vertx); }
Create a ProtonServer instance with the given Vertx instance and options.
Params:
  • vertx – the vertx instance to use
  • options – the options to use
Returns:the server instance
/** * Create a ProtonServer instance with the given Vertx instance and options. * * @param vertx * the vertx instance to use * @param options * the options to use * @return the server instance */
static ProtonServer create(Vertx vertx, ProtonServerOptions options) { return new ProtonServerImpl(vertx, options); }
The handler called when a new client connection is accepted.
Params:
  • handler – the handler
Returns:the server
/** * The handler called when a new client connection is accepted. * * @param handler * the handler * @return the server */
ProtonServer connectHandler(Handler<ProtonConnection> handler);
Returns the current connectHandler.
Returns:the handler
/** * Returns the current connectHandler. * * @return the handler */
Handler<ProtonConnection> connectHandler();
Sets the authenticator factory to be used by the server.
Params:
  • authenticatorFactory – the factory to be used for creating authenticators.
Returns:the server
/** * Sets the authenticator factory to be used by the server. * * @param authenticatorFactory the factory to be used for creating authenticators. * @return the server */
ProtonServer saslAuthenticatorFactory(ProtonSaslAuthenticatorFactory authenticatorFactory);
Gets the actual port being listened on.
Returns:the port
/** * Gets the actual port being listened on. * * @return the port */
int actualPort();
Start listening on the given port and host interface, with the result handler called when the operation completes.
Params:
  • port – the port to listen on (may be 0 to auto-select port)
  • host – the host interface to listen on (may be "0.0.0.0" to indicate all interfaces).
  • handler – the result handler
Returns:the server
/** * Start listening on the given port and host interface, with the result handler called when the operation completes. * * @param port * the port to listen on (may be 0 to auto-select port) * @param host * the host interface to listen on (may be "0.0.0.0" to indicate all interfaces). * @param handler * the result handler * @return the server */
ProtonServer listen(int port, String host, Handler<AsyncResult<ProtonServer>> handler);
Start listening on the given port and host interface "0.0.0.0", with the result handler called when the operation completes.
Params:
  • port – the port to listen on (may be 0 to auto-select port)
  • handler – the result handler
Returns:the server
/** * Start listening on the given port and host interface "0.0.0.0", with the result handler called when the operation * completes. * * @param port * the port to listen on (may be 0 to auto-select port) * @param handler * the result handler * @return the server */
ProtonServer listen(int port, Handler<AsyncResult<ProtonServer>> handler);
Start listening on the host and port configured in the options used when creating the server, with the result handler called when the operation completes.
Params:
  • handler – the result handler
Returns:the server
/** * Start listening on the host and port configured in the options used when creating the server, with the result * handler called when the operation completes. * * @param handler * the result handler * @return the server */
ProtonServer listen(Handler<AsyncResult<ProtonServer>> handler);
Start listening on the given port, and host interface "0.0.0.0".
Params:
  • port – the port to listen on (may be 0 to auto-select port)
Returns:the server
/** * Start listening on the given port, and host interface "0.0.0.0". * * @param port * the port to listen on (may be 0 to auto-select port) * @return the server */
ProtonServer listen(int port);
Start listening on the given port, and host interface.
Params:
  • port – the port to listen on (may be 0 to auto-select port)
  • host – the host interface to listen on (may be "0.0.0.0" to indicate all interfaces).
Returns:the server
/** * Start listening on the given port, and host interface. * * @param port * the port to listen on (may be 0 to auto-select port) * @param host * the host interface to listen on (may be "0.0.0.0" to indicate all interfaces). * @return the server */
ProtonServer listen(int port, String host);
Start listening on the host and port configured in the options used when creating the server.
Returns:the server
/** * Start listening on the host and port configured in the options used when creating the server. * * @return the server */
ProtonServer listen();
Closes the server and any currently open connections. May not complete until after method has returned.
/** * Closes the server and any currently open connections. May not complete until after method has returned. */
void close();
Closes the server and any currently open connections, notifying the given handler when complete.
Params:
  • handler – the completion handler
/** * Closes the server and any currently open connections, notifying the given handler when complete. * * @param handler * the completion handler */
void close(Handler<AsyncResult<Void>> handler); }