@@ -79,7 +79,8 @@ MqttClient::MqttClient(Client* client) :
79
79
_willBuffer(NULL ),
80
80
_willBufferIndex(0 ),
81
81
_willMessageIndex(0 ),
82
- _willFlags(0x00 )
82
+ _willFlags(0x00 ),
83
+ _tx_payload_buffer_size(TX_PAYLOAD_BUFFER_SIZE)
83
84
{
84
85
setTimeout (0 );
85
86
}
@@ -284,7 +285,7 @@ int MqttClient::beginWill(const String& topic, unsigned short size, bool retain,
284
285
285
286
int MqttClient::beginWill (const char * topic, bool retain, uint8_t qos)
286
287
{
287
- return beginWill (topic, TX_PAYLOAD_BUFFER_SIZE , retain, qos);
288
+ return beginWill (topic, _tx_payload_buffer_size , retain, qos);
288
289
}
289
290
290
291
int MqttClient::beginWill (const String& topic, bool retain, uint8_t qos)
@@ -655,12 +656,12 @@ size_t MqttClient::write(const uint8_t *buf, size_t size)
655
656
return clientWrite (buf, size);
656
657
}
657
658
658
- if ((_txPayloadBufferIndex + size) >= TX_PAYLOAD_BUFFER_SIZE ) {
659
- size = (TX_PAYLOAD_BUFFER_SIZE - _txPayloadBufferIndex);
659
+ if ((_txPayloadBufferIndex + size) >= _tx_payload_buffer_size ) {
660
+ size = (_tx_payload_buffer_size - _txPayloadBufferIndex);
660
661
}
661
662
662
663
if (_txPayloadBuffer == NULL ) {
663
- _txPayloadBuffer = (uint8_t *)malloc (TX_PAYLOAD_BUFFER_SIZE );
664
+ _txPayloadBuffer = (uint8_t *)malloc (_tx_payload_buffer_size );
664
665
}
665
666
666
667
memcpy (&_txPayloadBuffer[_txPayloadBufferIndex], buf, size);
@@ -795,6 +796,11 @@ void MqttClient::setConnectionTimeout(unsigned long timeout)
795
796
_connectionTimeout = timeout;
796
797
}
797
798
799
+ void MqttClient::setTxPayloadSize (unsigned short size)
800
+ {
801
+ _tx_payload_buffer_size = size;
802
+ }
803
+
798
804
int MqttClient::connectError () const
799
805
{
800
806
return _connectError;
0 commit comments