package cz.cuni.mff.d3s.been.socketworks.twoway;
import cz.cuni.mff.d3s.been.mq.IMessageQueue;
import cz.cuni.mff.d3s.been.mq.MessagingException;
import cz.cuni.mff.d3s.been.socketworks.QueueGuard;
/**
* Facade for two-way socket communication.
*/
public final class TwoWayMessaging {
/**
* Create a two-way messaging server. Each request is handled separately in a dedicated thread.
*
* @param hostname Hostname to bind
* @param queueName Name of the queue
* @param handlerFactory Factory for {@link ReadReplyHandler} objects (they will be used to handle messages)
*
* @return The server
*
* @throws MessagingException When server creation fails
*/
public static final QueueGuard createServer(String hostname, String queueName, ReadReplyHandlerFactory handlerFactory) throws MessagingException {
return ReadReplyGuard.create(hostname, handlerFactory);
}
}