public static CachingMessageEncoder getMessageEncoder(IoSessionEx session) { return (session instanceof BridgeSession) ? ((BridgeSession)session).getMessageEncoder() : IO_MESSAGE_ENCODER; }
@Override public IoSession next() { IoSession result = next; if ( next == null ) { result = null; } else if (next instanceof BridgeSession) { next = ((BridgeSession) next).getParent(); } else { next = null; } return result; }
private String getNextProtocol(IoSession session) { if (session instanceof BridgeSession) { ResourceAddress localAddress = ((BridgeSession) session).getLocalAddress(); return localAddress.getOption(NEXT_PROTOCOL); } return null; }
@Override public ProtocolEncoder getEncoder(IoSession session) throws Exception { IoSessionEx sessionEx = (IoSessionEx) session; IoBufferAllocatorEx<?> allocator = sessionEx.getBufferAllocator(); if (session instanceof BridgeSession) { BridgeSession transportSession = (BridgeSession)session; return new IoMessageEncoder(transportSession.getMessageEncoder(), allocator); } return new IoMessageEncoder(allocator); }
private long getScheduledWriteBytes(IoSession client) { IoSession session = client; while (session instanceof BridgeSession) { IoSession parent = ((BridgeSession)session).getParent(); if (parent == null) { // parent can occasionally be null (e.g. on a WsebSession from Flash client) if (logger.isDebugEnabled()) { logger.debug(String.format("Null parent on session %s, ancestor of client session %s", session, client)); } break; } session = parent; } return session.getScheduledWriteBytes(); }
@Override public ProtocolEncoder getEncoder(IoSession session) { IoSessionEx sessionEx = (IoSessionEx) session; IoBufferAllocatorEx<?> allocator = sessionEx.getBufferAllocator(); if (session instanceof BridgeSession) { BridgeSession bridgeSession = (BridgeSession)session; return new WsebFrameEncoder(bridgeSession.getMessageEncoder(), allocator); } return new WsebFrameEncoder(allocator); }
@Override public long getLastRoundTripLatencyTimestamp() { IoSessionEx session = getSession(); while (session != null) { Long latency = LAST_ROUND_TRIP_LATENCY_TIMESTAMP.get(session); if (latency != null) { return latency; } if (session instanceof BridgeSession) { session = ((BridgeSession) session).getParent(); } else { break; } } return -1; }
@Override public ProtocolEncoder getEncoder(IoSession session) { IoSessionEx sessionEx = (IoSessionEx) session; IoBufferAllocatorEx<?> allocator = sessionEx.getBufferAllocator(); if (session instanceof BridgeSession) { BridgeSession bridgeSession = (BridgeSession)session; CachingMessageEncoder cachingEncoder = bridgeSession.getMessageEncoder(); return new WsDraftHixieFrameEncoder(cachingEncoder, allocator); } return new WsDraftHixieFrameEncoder(allocator); }
@Override public long getLastRoundTripLatency() { IoSessionEx session = getSession(); while (session != null) { Long latency = LAST_ROUND_TRIP_LATENCY.get(session); if (latency != null) { return latency; } if (session instanceof BridgeSession) { session = ((BridgeSession) session).getParent(); } else { break; } } return -1; }
@Override public ProtocolEncoder getEncoder(IoSession session) { IoSessionEx sessionEx = (IoSessionEx) session; IoBufferAllocatorEx<?> allocator = sessionEx.getBufferAllocator(); if (session instanceof BridgeSession) { BridgeSession bridgeSession = (BridgeSession)session; return new HttpRequestEncoder(bridgeSession.getMessageEncoder(), allocator); } return new HttpRequestEncoder(allocator); }
@Override public ProtocolEncoder getEncoder(IoSession session) { IoSessionEx sessionEx = (IoSessionEx) session; IoBufferAllocatorEx<?> allocator = sessionEx.getBufferAllocator(); if (session instanceof BridgeSession) { BridgeSession bridgeSession = (BridgeSession)session; return new RtmpEncoder(bridgeSession.getMessageEncoder(), allocator); } return new RtmpEncoder(allocator); }
@Override public ProtocolEncoder getEncoder(IoSession session) { IoSessionEx sessionEx = (IoSessionEx) session; IoBufferAllocatorEx<?> allocator = sessionEx.getBufferAllocator(); if (session instanceof BridgeSession) { BridgeSession bridgeSession = (BridgeSession)session; return new WsFrameEncoder(bridgeSession.getMessageEncoder(), allocator, maskSends); } return new WsFrameEncoder(allocator, maskSends); }
@Override public ProtocolEncoder getEncoder(IoSession session) { IoSessionEx sessionEx = (IoSessionEx) session; IoBufferAllocatorEx<?> allocator = sessionEx.getBufferAllocator(); if (session instanceof BridgeSession) { BridgeSession bridgeSession = (BridgeSession)session; return new SseEncoder(bridgeSession.getMessageEncoder(), allocator); } return new SseEncoder(allocator); }
@Override public ProtocolEncoder getEncoder(IoSession session) { IoSessionEx sessionEx = (IoSessionEx) session; IoBufferAllocatorEx<?> allocator = sessionEx.getBufferAllocator(); if (session instanceof BridgeSession) { BridgeSession bridgeSession = (BridgeSession)session; return new WsebFrameEncoder(bridgeSession.getMessageEncoder(), allocator); } return new WsebFrameEncoder(allocator); }
@Override public ProtocolEncoder getEncoder(IoSession session) { IoSessionEx sessionEx = (IoSessionEx) session; IoBufferAllocatorEx<?> allocator = sessionEx.getBufferAllocator(); if (session instanceof BridgeSession) { BridgeSession bridgeSession = (BridgeSession)session; return new WsebTextAsBinaryFrameEncoder(bridgeSession.getMessageEncoder(), allocator); } return new WsebTextAsBinaryFrameEncoder(allocator); }
@Override public ProtocolEncoder getEncoder(IoSession session) { IoSessionEx sessionEx = (IoSessionEx) session; IoBufferAllocatorEx<?> allocator = sessionEx.getBufferAllocator(); if (session instanceof BridgeSession) { BridgeSession bridgeSession = (BridgeSession)session; return new HttpResponseEncoder(bridgeSession.getMessageEncoder(), allocator); } return new HttpResponseEncoder(allocator); }
@Override public ProtocolEncoder getEncoder(IoSession session) throws Exception { IoSessionEx sessionEx = (IoSessionEx) session; IoBufferAllocatorEx<?> allocator = sessionEx.getBufferAllocator(); if (session instanceof BridgeSession) { BridgeSession bridgeSession = (BridgeSession) session; CachingMessageEncoder cachingEncoder = bridgeSession.getMessageEncoder(); return new AmqpMessageEncoder(cachingEncoder, allocator); } if (encoder == null) { encoder = new AmqpMessageEncoder(allocator); } return encoder; }
@Override public ProtocolEncoder getEncoder(IoSession session) { IoSessionEx sessionEx = (IoSessionEx) session; IoBufferAllocatorEx<?> allocator = sessionEx.getBufferAllocator(); if (session instanceof BridgeSession) { BridgeSession bridgeSession = (BridgeSession)session; switch (escapeType) { case ESCAPE_ZERO_AND_NEWLINES: return new WsebFrameEscapeZeroAndNewLineEncoder(bridgeSession.getMessageEncoder(), allocator); case ESCAPE_ZERO: return new WsebFrameEscapeZeroAndNewLineEncoder(bridgeSession.getMessageEncoder(), allocator); // TODO: change to escape zero only later default: return new WsebFrameEncoder(bridgeSession.getMessageEncoder(), allocator); } } switch (escapeType) { case ESCAPE_ZERO_AND_NEWLINES: return new WsebFrameEscapeZeroAndNewLineEncoder(allocator); case ESCAPE_ZERO: return new WsebFrameEscapeZeroAndNewLineEncoder(allocator); // TODO: change to escape zero only later default: return new WsebFrameEncoder(allocator); } }