package com.workshare.msnos.core.routing;
import java.io.IOException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.workshare.msnos.core.Cloud;
import com.workshare.msnos.core.Message;
import com.workshare.msnos.core.Receipt;
abstract class Route {
protected static final Logger routing = LoggerFactory.getLogger("routing");
protected final Router router;
protected final Cloud cloud;
public Route(Router router) {
this.router = router;
this.cloud = router.cloud();
}
/**
* @return null if route is not applicable or a valid receipt
* @throws IOException
*/
public abstract Receipt send(Message message);
}