001package org.xbib.elasticsearch.http;
002
003import org.jboss.netty.channel.Channel;
004import org.jboss.netty.channel.ChannelHandlerContext;
005import org.jboss.netty.handler.codec.http.websocketx.WebSocketFrame;
006import org.jboss.netty.handler.codec.http.websocketx.WebSocketServerHandshaker;
007import org.xbib.elasticsearch.websocket.Presence;
008
009/**
010 * WebSocket server adapter
011 */
012public interface WebSocketServerAdapter {
013
014    /**
015     * Emit a presence event.
016     *
017     * @param presence
018     * @param topic
019     * @param channel
020     */
021    void presence(Presence presence, String topic, Channel channel);
022
023    /**
024     * Emit a frame.
025     *
026     * @param handshaker
027     * @param frame
028     * @param context
029     */
030    void frame(WebSocketServerHandshaker handshaker, WebSocketFrame frame, ChannelHandlerContext context);
031}