Fixed client's publish at QoS 0

This commit is contained in:
selva.andre
2012-07-24 23:09:30 +02:00
parent be9d70855f
commit 5eecc1f78d
3 changed files with 10 additions and 2 deletions
@@ -22,6 +22,8 @@ import org.dna.mqtt.moquette.PublishException;
import org.dna.mqtt.moquette.proto.ConnAckDecoder;
import org.dna.mqtt.moquette.proto.ConnectEncoder;
import org.dna.mqtt.moquette.proto.DisconnectEncoder;
import org.dna.mqtt.moquette.proto.PublishEncoder;
import org.dna.mqtt.moquette.proto.messages.AbstractMessage;
import org.dna.mqtt.moquette.proto.messages.ConnAckMessage;
import org.dna.mqtt.moquette.proto.messages.ConnectMessage;
import org.dna.mqtt.moquette.proto.messages.DisconnectMessage;
@@ -42,7 +44,7 @@ public final class Client {
private static final Logger LOG = Logger.getLogger(Client.class.getName());
// private static final String HOSTNAME = /*"localhost"*/ "127.0.0.1";
// private static final int PORT = Server.PORT;
private static final long CONNECT_TIMEOUT = 30 * 1000L; // 30 seconds
private static final long CONNECT_TIMEOUT = 3 * 1000L; // 30 seconds
final static int DEFAULT_RETRIES = 3;
private int m_connectRetries = DEFAULT_RETRIES;
@@ -67,6 +69,7 @@ public final class Client {
DemuxingProtocolEncoder encoder = new DemuxingProtocolEncoder();
encoder.addMessageEncoder(ConnectMessage.class, new ConnectEncoder());
encoder.addMessageEncoder(PublishMessage.class, new PublishEncoder());
encoder.addMessageEncoder(DisconnectMessage.class, new DisconnectEncoder());
m_connector = new NioSocketConnector();
@@ -160,6 +163,9 @@ public final class Client {
msg.setTopicName(topic);
msg.setPayload(payload);
//Untill the server could handle all the Qos levels
msg.setQos(AbstractMessage.QOSType.MOST_ONE);
WriteFuture wf = m_session.write(msg);
try {
wf.await();
@@ -12,6 +12,7 @@ import org.apache.mina.transport.socket.nio.NioSocketAcceptor;
import org.dna.mqtt.moquette.proto.ConnAckEncoder;
import org.dna.mqtt.moquette.proto.ConnectDecoder;
import org.dna.mqtt.moquette.proto.DisconnectDecoder;
import org.dna.mqtt.moquette.proto.PublishDecoder;
import org.dna.mqtt.moquette.proto.messages.ConnAckMessage;
/**
* Launch a configured version of the server.
@@ -32,6 +33,7 @@ public class Server {
protected void startServer() throws IOException {
DemuxingProtocolDecoder decoder = new DemuxingProtocolDecoder();
decoder.addMessageDecoder(new ConnectDecoder());
decoder.addMessageDecoder(new PublishDecoder());
decoder.addMessageDecoder(new DisconnectDecoder());
DemuxingProtocolEncoder encoder = new DemuxingProtocolEncoder();