private void completeRequest(short id, byte originalType, Object arg) { Request request = requests.remove(id); if( request!=null ) { assert originalType==request.frame.messageType(); if(request.cb!=null) { if( arg==null ) { ((Callback<Void>)request.cb).onSuccess(null); } else { ((Callback<Object>)request.cb).onSuccess(arg); } } } else { handleFatalFailure(new ProtocolException("Command from server contained an invalid message id: " + id)); } }
@Override public String toString() { String type = "unknown"; switch(messageType()) { case CONNECT.TYPE: type = "CONNECT";
mqtt.tracer.onReceive(response); try { switch (response.messageType()) { case CONNACK.TYPE: CONNACK connack = new CONNACK().decode(response); mqtt.tracer.debug("Received unexpected MQTT frame: %d", response.messageType()); cb.onFailure(new IOException("Could not connect. Received unexpected command: " + response.messageType()));
private void processFrame(MQTTFrame frame) { try { switch(frame.messageType()) { case PUBLISH.TYPE: { PUBLISH publish = new PUBLISH().decode(frame); throw new ProtocolException("Unexpected MQTT command type: "+frame.messageType());
@Override public void onFrame(MQTTFrame mqttFrame) { try { if (mqttFrame.messageType() == DISCONNECT.TYPE) { receivedDisconnect.set(true); } getProtocolConverter().onMQTTCommand(mqttFrame); } catch (Exception e) { onException(IOExceptionSupport.create(e)); } } }
@Override public void onFrame(MQTTFrame mqttFrame) { try { if (mqttFrame.messageType() == DISCONNECT.TYPE) { receivedDisconnect.set(true); } getProtocolConverter().onMQTTCommand(mqttFrame); } catch (Exception e) { onException(IOExceptionSupport.create(e)); } } }
@Override public void onFrame(MQTTFrame mqttFrame) { try { if (mqttFrame.messageType() == DISCONNECT.TYPE) { receivedDisconnect.set(true); } getProtocolConverter().onMQTTCommand(mqttFrame); } catch (Exception e) { onException(IOExceptionSupport.create(e)); } } }
private void completeRequest(short id, byte originalType, Object arg) { Request request = requests.remove(id); if( request!=null ) { assert originalType==request.frame.messageType(); if(request.cb!=null) { if( arg==null ) { ((Callback<Void>)request.cb).onSuccess(null); } else { ((Callback<Object>)request.cb).onSuccess(arg); } } } else { handleFatalFailure(new ProtocolException("Command from server contained an invalid message id: " + id)); } }
@Override public void onReceive(MQTTFrame frame) { // validate the QoS if (frame.messageType() == PUBLISH.TYPE) { actualQoS[0] = frame.qos().ordinal(); } } });
@Override public void call(Object o) { if (o instanceof MQTTFrame) { MQTTFrame command = (MQTTFrame) o; try { if (command.messageType() == CONNECT.TYPE) { connect_message = received(new CONNECT().decode(command)); on_mqtt_connect(); } else { die("Expecting an MQTT CONNECT message, but got: " + command.getClass()); } } catch (java.net.ProtocolException e) { die("Internal Server Error: bad mqtt command: " + command); } } else if ("failure".equals(o)) { } else { die("Internal Server Error: unexpected mqtt command: " + o.getClass()); } } };
@Override public void onReceive(MQTTFrame frame) { // validate the QoS if (frame.messageType() == PUBLISH.TYPE) { actualQoS[0] = frame.qos().ordinal(); } } });
@Override public void onReceive(MQTTFrame frame) { LOG.info("Client received:\n" + frame); if (frame.messageType() == PUBLISH.TYPE) { PUBLISH publish = new PUBLISH(); try { publish.decode(frame); } catch (ProtocolException e) { fail("Error decoding publish " + e.getMessage()); } publishList.add(publish); } }
@Override public void onReceive(MQTTFrame frame) { LOG.info("Client received:\n" + frame); if (frame.messageType() == PUBLISH.TYPE) { PUBLISH publish = new PUBLISH(); try { publish.decode(frame); } catch (ProtocolException e) { fail("Error decoding publish " + e.getMessage()); } publishList.add(publish); } }
@Override public void onReceive(MQTTFrame frame) { LOG.info("Client received:\n" + frame); if (frame.messageType() == PUBLISH.TYPE) { PUBLISH publish = new PUBLISH(); try { publish.decode(frame); LOG.info("PUBLISH " + publish); } catch (ProtocolException e) { fail("Error decoding publish " + e.getMessage()); } if (publishMap.get(publish.messageId()) != null) { assertTrue(publish.dup()); } publishMap.put(publish.messageId(), publish); } }
@Override public void onReceive(MQTTFrame frame) { LOG.info("Client received:\n" + frame); if (frame.messageType() == PUBLISH.TYPE) { PUBLISH publish = new PUBLISH(); try { publish.decode(frame); LOG.info("PUBLISH " + publish); } catch (ProtocolException e) { fail("Error decoding publish " + e.getMessage()); } if (publishMap.get(publish.messageId()) != null) { assertTrue(publish.dup()); } publishMap.put(publish.messageId(), publish); } }
@Override public void handle(MQTTFrame event) { try { if (event.messageType() == CONNECT.TYPE) { CONNECT connect = new CONNECT().decode(event); ConnectionParameters parameters = new ConnectionParameters();
switch (frame.messageType()) { case PINGREQ.TYPE: LOG.debug("Received a ping from client: " + getClientId()); break; default: handleException(new MQTTProtocolException("Unknown MQTTFrame type: " + frame.messageType(), true), frame);
static private String toString(MQTTFrame frame) { if( frame == null ) return null; try { switch (frame.messageType()) { case PINGREQ.TYPE: return new PINGREQ().decode(frame).toString(); case PINGRESP.TYPE: return new PINGRESP().decode(frame).toString(); case CONNECT.TYPE: return new CONNECT().decode(frame).toString(); case DISCONNECT.TYPE: return new DISCONNECT().decode(frame).toString(); case SUBSCRIBE.TYPE: return new SUBSCRIBE().decode(frame).toString(); case UNSUBSCRIBE.TYPE: return new UNSUBSCRIBE().decode(frame).toString(); case PUBLISH.TYPE: return new PUBLISH().decode(frame).toString(); case PUBACK.TYPE: return new PUBACK().decode(frame).toString(); case PUBREC.TYPE: return new PUBREC().decode(frame).toString(); case PUBREL.TYPE: return new PUBREL().decode(frame).toString(); case PUBCOMP.TYPE: return new PUBCOMP().decode(frame).toString(); case CONNACK.TYPE: return new CONNACK().decode(frame).toString(); case SUBACK.TYPE: return new SUBACK().decode(frame).toString(); default: return frame.toString(); } } catch (Throwable e) { LOG.warn(e.getMessage(), e); return frame.toString(); } }
static private String toString(MQTTFrame frame) { if( frame == null ) return null; try { switch (frame.messageType()) { case PINGREQ.TYPE: return new PINGREQ().decode(frame).toString(); case PINGRESP.TYPE: return new PINGRESP().decode(frame).toString(); case CONNECT.TYPE: return new CONNECT().decode(frame).toString(); case DISCONNECT.TYPE: return new DISCONNECT().decode(frame).toString(); case SUBSCRIBE.TYPE: return new SUBSCRIBE().decode(frame).toString(); case UNSUBSCRIBE.TYPE: return new UNSUBSCRIBE().decode(frame).toString(); case PUBLISH.TYPE: return new PUBLISH().decode(frame).toString(); case PUBACK.TYPE: return new PUBACK().decode(frame).toString(); case PUBREC.TYPE: return new PUBREC().decode(frame).toString(); case PUBREL.TYPE: return new PUBREL().decode(frame).toString(); case PUBCOMP.TYPE: return new PUBCOMP().decode(frame).toString(); case CONNACK.TYPE: return new CONNACK().decode(frame).toString(); case SUBACK.TYPE: return new SUBACK().decode(frame).toString(); default: return frame.toString(); } } catch (Throwable e) { LOG.warn(e.getMessage(), e); return frame.toString(); } }
static private String toString(MQTTFrame frame) { if( frame == null ) return null; try { switch (frame.messageType()) { case PINGREQ.TYPE: return new PINGREQ().decode(frame).toString(); case PINGRESP.TYPE: return new PINGRESP().decode(frame).toString(); case CONNECT.TYPE: return new CONNECT().decode(frame).toString(); case DISCONNECT.TYPE: return new DISCONNECT().decode(frame).toString(); case SUBSCRIBE.TYPE: return new SUBSCRIBE().decode(frame).toString(); case UNSUBSCRIBE.TYPE: return new UNSUBSCRIBE().decode(frame).toString(); case PUBLISH.TYPE: return new PUBLISH().decode(frame).toString(); case PUBACK.TYPE: return new PUBACK().decode(frame).toString(); case PUBREC.TYPE: return new PUBREC().decode(frame).toString(); case PUBREL.TYPE: return new PUBREL().decode(frame).toString(); case PUBCOMP.TYPE: return new PUBCOMP().decode(frame).toString(); case CONNACK.TYPE: return new CONNACK().decode(frame).toString(); case SUBACK.TYPE: return new SUBACK().decode(frame).toString(); default: return frame.toString(); } } catch (Throwable e) { LOG.warn(e.getMessage(), e); return frame.toString(); } }