@Override public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) throws IOException { // Not for us. if (!envelope.getRoutingKey().equalsIgnoreCase(id)) return; String message = new String(body); try { Object newMsg = filter(message); // if newSgw == null, that means the message has been filtered. if (newMsg != null) { deliverPush(new Deliver(newMsg, new BroadcasterFuture<Object>(newMsg), message), true); } } catch (Throwable t) { logger.error("failed to push message: " + message, t); } } };
/** * {@inheritDoc} */ public BroadcasterFuture<Object> broadcast(Object msg) { start(); msg = bc.filter(msg); if (msg == null) { return null; } BroadcasterFuture<Object> f = new BroadcasterFuture<Object>(msg); messages.offer(new Entry(msg, null,f)); return f; }
/** * {@inheritDoc} */ public BroadcasterFuture<Object> broadcast(Object msg, AtmosphereEvent event) { start(); msg = bc.filter(msg); if (msg == null) { return null; } BroadcasterFuture<Object> f = new BroadcasterFuture<Object>(msg); messages.offer(new Entry(msg, event,f)); return f; }
/** * {@inheritDoc} */ public BroadcasterFuture<String> broadcast(String msg, AtmosphereEvent event) { start(); msg = (String) bc.filter(msg); if (msg == null) { return null; } BroadcasterFuture<String> f = new BroadcasterFuture<String>(msg); messages.offer(new Entry(msg, event,f)); return f; }
/** * {@inheritDoc} */ public BroadcasterFuture<String> broadcast(String msg, Set<AtmosphereEvent> subset) { start(); msg = (String) bc.filter(msg); if (msg == null) { return null; } BroadcasterFuture<String> f = new BroadcasterFuture<String>(msg); messages.offer(new Entry(msg, subset,f)); return f; }
/** * {@inheritDoc} */ public BroadcasterFuture<Object> broadcast(Object msg, Set<AtmosphereEvent> subset) { start(); msg = bc.filter(msg); if (msg == null) { return null; } BroadcasterFuture<Object> f = new BroadcasterFuture<Object>(msg); messages.offer(new Entry(msg, subset,f)); return f; }
/** * {@inheritDoc} */ public BroadcasterFuture<String> broadcast(String msg) { start(); msg = (String) bc.filter(msg); if (msg == null) { return null; } BroadcasterFuture<String> f = new BroadcasterFuture<String>(msg); messages.offer(new Entry(msg, null,f)); return f; }