func (c *RTUClient) SetServerProcessingTime(t time.Duration) {
	c.serverProcessingTime = t
}
SetServerProcessingTime sets the time to wait for a server response, the total
wait time also includes the time needed for data transmission
package modbusone
import (
	"encoding/hex"
	"errors"
	"fmt"
	"sync/atomic"
	"time"
)
type RTUClient struct {
	com                  SerialContext
	packetReader         PacketReader
	SlaveID              byte
	serverProcessingTime time.Duration
	actions              chan rtuAction
}
type Client interface {
	ServerCloser
	RTUTransactionStarter
	DoTransaction(req PDU) error
}
var _ Client = &RTUClient{}
func NewRTUCLient(com SerialContext, slaveID byte) *RTUClient {
	return NewRTUClient(com, slaveID)
}
func NewRTUClient(com SerialContext, slaveID byte) *RTUClient {
	pr, ok := com.(PacketReader)
	if !ok {
		pr = NewRTUPacketReader(com, true)
	}
	r := RTUClient{
		com:                  com,
		packetReader:         pr,
		SlaveID:              slaveID,
		serverProcessingTime: time.Second,
		actions:              make(chan rtuAction),
	}
	return &r
}