This commit is contained in:
Wolfgang Hottgenroth 2020-11-13 12:37:17 +01:00
parent 11d4a046e1
commit 477f3e2e3f
Signed by: wn
GPG Key ID: 6C1E5E531E0D5D7F
4 changed files with 26 additions and 26 deletions

View File

@ -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");

View File

@ -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 {

View File

@ -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) {

View File

@ -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_