void pumpProtonToSocket() { try { boolean done = false; while (!done) { ByteBuffer toWrite = protonTransport.getOutputBuffer(); if (toWrite != null && toWrite.hasRemaining()) { LOG.trace("Server: Sending {} bytes out", toWrite.limit()); amqpTransport.sendToAmqp(toWrite); protonTransport.outputConsumed(); } else { done = true; } } } catch (IOException e) { amqpTransport.onException(e); } }
void pumpProtonToSocket() { try { boolean done = false; while (!done) { ByteBuffer toWrite = protonTransport.getOutputBuffer(); if (toWrite != null && toWrite.hasRemaining()) { LOG.trace("Server: Sending {} bytes out", toWrite.limit()); amqpTransport.sendToAmqp(toWrite); protonTransport.outputConsumed(); } else { done = true; } } } catch (IOException e) { amqpTransport.onException(e); } }
void flush() { boolean done = false; while (!done) { ByteBuffer outputBuffer = transport.getOutputBuffer(); if (outputBuffer != null && outputBuffer.hasRemaining()) { final NetSocketInternal internal = (NetSocketInternal) socket; final ByteBuf bb = internal.channelHandlerContext().alloc().directBuffer(outputBuffer.remaining()); bb.writeBytes(outputBuffer); internal.writeMessage(bb); transport.outputConsumed(); } else { done = true; } } }
void pumpToProtonTransport(AsyncResult request) { try { boolean done = false; while (!done) { ByteBuffer toWrite = protonTransport.getOutputBuffer(); if (toWrite != null && toWrite.hasRemaining()) { ByteBuf outbound = transport.allocateSendBuffer(toWrite.remaining()); outbound.writeBytes(toWrite); transport.send(outbound); protonTransport.outputConsumed(); } else { done = true; } } } catch (IOException e) { fireClientException(e); request.onFailure(e); } }
protonTransport.outputConsumed(); } else { done = true;
protonTransport.outputConsumed(); } else { done = true;
@Override public void handle(AmqpEvent event) { switch( event.type ) { case HEADER: AmqpHeader header = (AmqpHeader) event.decodedFrame; switch (header.getProtocolId()) { case 0: // amqpTransport.sendToAmqp(new AmqpHeader()); break; // nothing to do.. case 3: // Client will be using SASL for auth.. sasl = protonTransport.sasl(); // sasl.setMechanisms(new String[] { "ANONYMOUS", "PLAIN" }); sasl.server(); break; default: } processEvent(event); // Les send back the AMQP response headers so that the client // can send us the SASL init or AMQP open frames. Buffer buffer = toBuffer(protonTransport.getOutputBuffer()); protonTransport.outputConsumed(); socket.write(buffer); break; default: processEvent(event); } }
@Override public void handle(AmqpEvent event) { switch( event.type ) { case HEADER: AmqpHeader header = (AmqpHeader) event.decodedFrame; switch (header.getProtocolId()) { case 0: // amqpTransport.sendToAmqp(new AmqpHeader()); break; // nothing to do.. case 3: // Client will be using SASL for auth.. sasl = protonTransport.sasl(); // sasl.setMechanisms(new String[] { "ANONYMOUS", "PLAIN" }); sasl.server(); break; default: } processEvent(event); // Les send back the AMQP response headers so that the client // can send us the SASL init or AMQP open frames. Buffer buffer = toBuffer(protonTransport.getOutputBuffer()); protonTransport.outputConsumed(); socket.write(buffer); break; default: processEvent(event); } }