fixes
This commit is contained in:
parent
11d4a046e1
commit
477f3e2e3f
@ -17,24 +17,24 @@ int clientConnect(client_t *client, uint8_t *host, uint16_t port) {
|
||||
int8_t res = socket(client->sockNum, Sn_MR_TCP, port, SF_IO_NONBLOCK);
|
||||
if (res != client->sockNum) {
|
||||
close(client->sockNum);
|
||||
return INVALID_RESPONSE;
|
||||
return PSC_INVALID_RESPONSE;
|
||||
}
|
||||
logMsg("clientConnect: socket initialized");
|
||||
|
||||
res = connect(client->sockNum, host, port);
|
||||
if (res != SOCK_BUSY) {
|
||||
close(client->sockNum);
|
||||
return INVALID_RESPONSE;
|
||||
return PSC_INVALID_RESPONSE;
|
||||
}
|
||||
uint32_t startTime = HAL_GetTick();
|
||||
while (startTime + TIMEOUT_MS > HAL_GetTick()) {
|
||||
while (startTime + PSC_TIMEOUT_MS > HAL_GetTick()) {
|
||||
uint8_t sockState = getSn_SR(client->sockNum);
|
||||
if (sockState == SOCK_ESTABLISHED) {
|
||||
logMsg("clientConnect: connection established");
|
||||
return SUCCESS;
|
||||
return PSC_SUCCESS;
|
||||
}
|
||||
}
|
||||
return TIMED_OUT;
|
||||
return PSC_TIMED_OUT;
|
||||
}
|
||||
|
||||
int clientAvailable(client_t *client) {
|
||||
@ -50,7 +50,7 @@ void clientStop(client_t *client) {
|
||||
} else {
|
||||
bool successfullyClosed = false;
|
||||
uint32_t startTime = HAL_GetTick();
|
||||
while (startTime + TIMEOUT_MS > HAL_GetTick()) {
|
||||
while (startTime + PSC_TIMEOUT_MS > HAL_GetTick()) {
|
||||
uint8_t sockState = getSn_SR(client->sockNum);
|
||||
if (sockState == SOCK_CLOSED) {
|
||||
logMsg("clientStop: connection closed");
|
||||
|
@ -14,13 +14,13 @@
|
||||
#include <stdbool.h>
|
||||
|
||||
|
||||
const int SUCCESS = 1;
|
||||
const int TIMED_OUT = -1;
|
||||
const int INVALID_SERVER = -2;
|
||||
const int TRUNCATED = -3;
|
||||
const int INVALID_RESPONSE = -4;
|
||||
#define PSC_SUCCESS 1
|
||||
#define PSC_TIMED_OUT -1
|
||||
#define PSC_INVALID_SERVER -2
|
||||
#define PSC_TRUNCATED -3
|
||||
#define PSC_INVALID_RESPONSE -4
|
||||
|
||||
const uint32_t TIMEOUT_MS = 1000;
|
||||
#define PSC_TIMEOUT_MS 1000
|
||||
|
||||
|
||||
typedef struct {
|
||||
|
@ -150,14 +150,14 @@ void mqttClientInit(mqttClient_t *mqttClient, client_t *client, callback_t callb
|
||||
memset(mqttClient->buffer, 0, mqttClient->bufferSize);
|
||||
}
|
||||
|
||||
bool connect(mqttClient_t *mqttClient,
|
||||
bool mqttConnect(mqttClient_t *mqttClient,
|
||||
uint8_t *address, uint16_t port,
|
||||
const char *id,
|
||||
const char *user, const char *pass,
|
||||
const char *willTopic, uint8_t willQos,
|
||||
bool willRetain, const char *willMessage,
|
||||
bool cleanSession) {
|
||||
if (!connected(mqttClient)) {
|
||||
if (!mqttConnected(mqttClient)) {
|
||||
int result = 0;
|
||||
|
||||
if(clientConnected(mqttClient->client)) {
|
||||
@ -259,7 +259,7 @@ bool connect(mqttClient_t *mqttClient,
|
||||
return true;
|
||||
}
|
||||
|
||||
void disconnect(mqttClient_t *mqttClient) {
|
||||
void mqttDisconnect(mqttClient_t *mqttClient) {
|
||||
mqttClient->buffer[0] = MQTTDISCONNECT;
|
||||
mqttClient->buffer[1] = 0;
|
||||
clientWrite(mqttClient->client, mqttClient->buffer, 2);
|
||||
@ -269,8 +269,8 @@ void disconnect(mqttClient_t *mqttClient) {
|
||||
mqttClient->lastInActivity = mqttClient->lastOutActivity = millis();
|
||||
}
|
||||
|
||||
bool loop(mqttClient_t *mqttClient) {
|
||||
if (connected(mqttClient)) {
|
||||
bool mqttLoop(mqttClient_t *mqttClient) {
|
||||
if (mqttConnected(mqttClient)) {
|
||||
uint32_t t = millis();
|
||||
if ((t - mqttClient->lastInActivity > mqttClient->keepAlive*1000UL) ||
|
||||
(t - mqttClient->lastOutActivity > mqttClient->keepAlive*1000UL)) {
|
||||
@ -325,7 +325,7 @@ bool loop(mqttClient_t *mqttClient) {
|
||||
} else if (type == MQTTPINGRESP) {
|
||||
mqttClient->pingOutstanding = false;
|
||||
}
|
||||
} else if (!connected(mqttClient)) {
|
||||
} else if (!mqttConnected(mqttClient)) {
|
||||
// readPacket has closed the connection
|
||||
return false;
|
||||
}
|
||||
@ -335,7 +335,7 @@ bool loop(mqttClient_t *mqttClient) {
|
||||
return false;
|
||||
}
|
||||
|
||||
bool connected(mqttClient_t *mqttClient) {
|
||||
bool mqttConnected(mqttClient_t *mqttClient) {
|
||||
bool rc;
|
||||
if (mqttClient->client == NULL ) {
|
||||
rc = false;
|
||||
@ -358,7 +358,7 @@ bool publish(mqttClient_t *mqttClient,
|
||||
const char *topic,
|
||||
const uint8_t *payload, uint16_t plength,
|
||||
bool retained) {
|
||||
if (connected(mqttClient)) {
|
||||
if (mqttConnected(mqttClient)) {
|
||||
if (mqttClient->bufferSize < MQTT_MAX_HEADER_SIZE + 2 + strnlen(topic, mqttClient->bufferSize) + plength) {
|
||||
// Too long
|
||||
return false;
|
||||
@ -395,7 +395,7 @@ bool subscribe(mqttClient_t *mqttClient,
|
||||
// Too long
|
||||
return false;
|
||||
}
|
||||
if (connected(mqttClient)) {
|
||||
if (mqttConnected(mqttClient)) {
|
||||
// Leave room in the buffer for header and variable length field
|
||||
uint16_t length = MQTT_MAX_HEADER_SIZE;
|
||||
mqttClient->nextMsgId++;
|
||||
@ -421,7 +421,7 @@ bool unsubscribe(mqttClient_t *mqttClient,
|
||||
// Too long
|
||||
return false;
|
||||
}
|
||||
if (connected(mqttClient)) {
|
||||
if (mqttConnected(mqttClient)) {
|
||||
uint16_t length = MQTT_MAX_HEADER_SIZE;
|
||||
mqttClient->nextMsgId++;
|
||||
if (mqttClient->nextMsgId == 0) {
|
||||
|
@ -100,7 +100,7 @@ typedef struct {
|
||||
|
||||
|
||||
void mqttClientInit(mqttClient_t *mqttClient, client_t *client, callback_t callback);
|
||||
bool connect(mqttClient_t *mqttClient,
|
||||
bool mqttConnect(mqttClient_t *mqttClient,
|
||||
uint8_t *address, uint16_t port,
|
||||
const char *id,
|
||||
const char *user, const char *pass,
|
||||
@ -108,7 +108,7 @@ bool connect(mqttClient_t *mqttClient,
|
||||
bool willRetain, const char *willMessage,
|
||||
bool cleanSession);
|
||||
|
||||
void disconnect(mqttClient_t *mqttClient);
|
||||
void mqttDisconnect(mqttClient_t *mqttClient);
|
||||
|
||||
bool publish(mqttClient_t *mqttClient,
|
||||
const char *topic,
|
||||
@ -120,8 +120,8 @@ bool subscribe(mqttClient_t *mqttClient,
|
||||
bool unsubscribe(mqttClient_t *mqttClient,
|
||||
const char* topic);
|
||||
|
||||
bool loop(mqttClient_t *mqttClient);
|
||||
bool mqttLoop(mqttClient_t *mqttClient);
|
||||
|
||||
bool connected(mqttClient_t *mqttClient);
|
||||
bool mqttConnected(mqttClient_t *mqttClient);
|
||||
|
||||
#endif // _PUBSUBC_H_
|
||||
|
Loading…
x
Reference in New Issue
Block a user