diff options
| -rw-r--r-- | device.cc | 9 | ||||
| -rw-r--r-- | include/device.h | 6 | ||||
| -rw-r--r-- | include/device_proto.h | 4 | 
3 files changed, 11 insertions, 8 deletions
| @@ -13,7 +13,8 @@ using namespace nitrokey::log;  Device::Device()      : m_vid(0),        m_pid(0), -      m_retry_count(40), +      m_retry_sending_count(3), +      m_retry_receiving_count(40),        m_retry_timeout(100),        mp_devhandle(NULL),        last_command_status(0){} @@ -69,7 +70,7 @@ int Device::recv(void *packet) {                      Loglevel::DEBUG_L2);      if (status > 0) break;  // success -    if (retry_count++ >= m_retry_count) { +    if (retry_count++ >= m_retry_receiving_count) {        Log::instance()(            "Maximum retry count reached" + std::to_string(retry_count),            Loglevel::WARNING); @@ -88,7 +89,7 @@ Stick10::Stick10() {    m_pid = 0x4108;    m_model = DeviceModel::PRO;      m_send_receive_delay = 100ms; -  m_retry_count = 100; +  m_retry_receiving_count = 100;  }  Stick20::Stick20() { @@ -97,5 +98,5 @@ Stick20::Stick20() {    m_retry_timeout = 20ms;    m_model = DeviceModel::STORAGE;    m_send_receive_delay = 20ms; -  m_retry_count = 40; +  m_retry_receiving_count = 40;  } diff --git a/include/device.h b/include/device.h index 67b739c..34b7a5b 100644 --- a/include/device.h +++ b/include/device.h @@ -38,7 +38,8 @@ public:     */    virtual int recv(void *packet); -  int get_retry_count() const { return m_retry_count; }; +  int get_retry_receiving_count() const { return m_retry_receiving_count; }; +  int get_retry_sending_count() const { return m_retry_sending_count; };    std::chrono::milliseconds get_retry_timeout() const { return m_retry_timeout; };      std::chrono::milliseconds get_send_receive_delay() const {return m_send_receive_delay;} @@ -59,7 +60,8 @@ private:     *	library, there's no way of doing it asynchronously,     *	hence polling.     */ -  int m_retry_count; +  int m_retry_sending_count; +  int m_retry_receiving_count;    std::chrono::milliseconds m_retry_timeout;    std::chrono::milliseconds m_send_receive_delay; diff --git a/include/device_proto.h b/include/device_proto.h index bf78d29..d64c341 100644 --- a/include/device_proto.h +++ b/include/device_proto.h @@ -219,7 +219,7 @@ namespace nitrokey {                if (!outp.isValid()) throw std::runtime_error("Invalid outgoing packet");                int receiving_retry_counter = 0; -              int sending_retry_counter = 3; +              int sending_retry_counter = dev.get_retry_sending_count();                while (sending_retry_counter-- > 0) {                  status = dev.send(&outp);                  if (status <= 0) @@ -230,7 +230,7 @@ namespace nitrokey {                  std::this_thread::sleep_for(dev.get_send_receive_delay());                  // FIXME make checks done in device:recv here -                receiving_retry_counter = dev.get_retry_count(); +                receiving_retry_counter = dev.get_retry_receiving_count();                  while (receiving_retry_counter-- > 0) {                    status = dev.recv(&resp); | 
