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