Skip to content

Commit 2b7c730

Browse files
committed
Fix clippy feedback.
1 parent 77a0ad7 commit 2b7c730

File tree

11 files changed

+134
-122
lines changed

11 files changed

+134
-122
lines changed

Makefile

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,24 @@
1-
devshell:
2-
docker-compose run --rm chirpstack-udp-forwarder bash
1+
.PHONY: dist
2+
3+
# Update the version
4+
version:
5+
test -n "$(VERSION)"
6+
sed -i 's/^version.*/version = "$(VERSION)"/g' ./Cargo.toml
7+
make test
8+
git add .
9+
git commit -v -m "Bump version to $(VERSION)"
10+
git tag -a v$(VERSION) -m "v$(VERSION)"
11+
12+
# Cleanup dist.
13+
clean:
14+
rm -rf dist
315

16+
# Run tests
417
test:
18+
docker-compose run --rm chirpstack-udp-forwarder cargo clippy --no-deps
519
docker-compose run --rm chirpstack-udp-forwarder cargo test
20+
21+
# Enter the devshell.
22+
devshell:
23+
docker-compose run --rm chirpstack-udp-forwarder bash
24+

src/commands.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,5 @@ pub fn get_socket(endpoint: &str) -> Result<zmq::Socket, zmq::Error> {
1010
let sock = zmq_ctx.socket(zmq::REQ)?;
1111
sock.connect(endpoint)?;
1212

13-
return Ok(sock);
13+
Ok(sock)
1414
}

src/config.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ use std::fs;
22

33
use serde::Deserialize;
44

5-
pub const VERSION: &'static str = env!("CARGO_PKG_VERSION");
5+
pub const VERSION: &str = env!("CARGO_PKG_VERSION");
66

77
#[derive(Deserialize, Default)]
88
pub struct UdpForwarder {
@@ -39,7 +39,7 @@ impl Configuration {
3939
for file_name in filenames {
4040
content.push_str(&match fs::read_to_string(file_name) {
4141
Ok(v) => v,
42-
Err(err) => return Err(format!("read config file error: {}", err).to_string()),
42+
Err(err) => return Err(format!("read config file error: {}", err)),
4343
});
4444
}
4545

@@ -48,6 +48,6 @@ impl Configuration {
4848
Err(err) => return Err(format!("parse config file error: {}", err)),
4949
};
5050

51-
return Ok(config);
51+
Ok(config)
5252
}
5353
}

src/events.rs

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@ pub fn get_socket(endpoint: &str) -> Result<zmq::Socket, zmq::Error> {
1212

1313
let zmq_ctx = ZMQ_CONTEXT.lock().unwrap();
1414
let sock = zmq_ctx.socket(zmq::SUB)?;
15-
sock.connect(&endpoint).expect("ZMQ connect error");
15+
sock.connect(endpoint).expect("ZMQ connect error");
1616
sock.set_subscribe("".as_bytes())?;
1717

18-
return Ok(sock);
18+
Ok(sock)
1919
}
2020

2121
pub enum Event {
@@ -29,10 +29,10 @@ pub enum Event {
2929
Unknown(String, Vec<u8>),
3030

3131
// Uplink event.
32-
Uplink(chirpstack_api::gw::UplinkFrame),
32+
Uplink(Box<chirpstack_api::gw::UplinkFrame>),
3333

3434
// Stats event.
35-
Stats(chirpstack_api::gw::GatewayStats),
35+
Stats(Box<chirpstack_api::gw::GatewayStats>),
3636
}
3737

3838
pub struct Reader<'a> {
@@ -41,11 +41,8 @@ pub struct Reader<'a> {
4141
}
4242

4343
impl<'a> Reader<'a> {
44-
pub fn new(sock: &'a zmq::Socket, timeout: Duration) -> Self {
45-
Reader {
46-
sub_sock: sock,
47-
timeout: timeout,
48-
}
44+
pub fn new(sub_sock: &'a zmq::Socket, timeout: Duration) -> Self {
45+
Reader { sub_sock, timeout }
4946
}
5047
}
5148

@@ -63,7 +60,7 @@ impl Iterator for Reader<'_> {
6360
let msg = self.sub_sock.recv_multipart(0).unwrap();
6461
match handle_message(msg) {
6562
Ok(v) => Some(v),
66-
Err(err) => Some(Event::Error(err.to_string())),
63+
Err(err) => Some(Event::Error(err)),
6764
}
6865
}
6966
}
@@ -80,11 +77,11 @@ fn handle_message(msg: Vec<Vec<u8>>) -> Result<Event, String> {
8077

8178
Ok(match event.as_str() {
8279
"up" => match parse_up(&msg[1]) {
83-
Ok(v) => Event::Uplink(v),
80+
Ok(v) => Event::Uplink(Box::new(v)),
8481
Err(err) => Event::Error(err),
8582
},
8683
"stats" => match parse_stats(&msg[1]) {
87-
Ok(v) => Event::Stats(v),
84+
Ok(v) => Event::Stats(Box::new(v)),
8885
Err(err) => Event::Error(err),
8986
},
9087
_ => Event::Unknown(event, msg[1].clone()),

src/forwarder.rs

Lines changed: 23 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ impl State {
3434
let mut rng = rand::thread_rng();
3535
let mut token = self.pull_data_token.lock().unwrap();
3636
*token = rng.gen();
37-
return *token;
37+
*token
3838
}
3939

4040
fn get_pull_data_token(&self) -> u16 {
@@ -54,7 +54,7 @@ impl State {
5454
let mut rng = rand::thread_rng();
5555
let mut token = self.push_data_token.lock().unwrap();
5656
*token = rng.gen();
57-
return *token;
57+
*token
5858
}
5959

6060
fn get_push_data_token(&self) -> u16 {
@@ -63,7 +63,7 @@ impl State {
6363

6464
fn incr_push_data_sent(&self) {
6565
let mut sent = self.push_data_sent.lock().unwrap();
66-
*sent = *sent + 1;
66+
*sent += 1;
6767
}
6868

6969
fn get_and_reset_push_data_sent(&self) -> u32 {
@@ -75,7 +75,7 @@ impl State {
7575

7676
fn incr_push_data_acked(&self) {
7777
let mut acked = self.push_data_acked.lock().unwrap();
78-
*acked = *acked + 1;
78+
*acked += 1;
7979
}
8080

8181
fn get_and_reset_push_data_acked(&self) -> u32 {
@@ -87,14 +87,14 @@ impl State {
8787

8888
fn incr_rxfw(&self) {
8989
let mut rxfw = self.rxfw.lock().unwrap();
90-
*rxfw = *rxfw + 1;
90+
*rxfw += 1;
9191
}
9292

9393
fn get_and_reset_rxfw(&self) -> u32 {
9494
let mut rxfw = self.rxfw.lock().unwrap();
9595
let out = *rxfw;
9696
*rxfw = 0;
97-
return out;
97+
out
9898
}
9999
}
100100

@@ -114,14 +114,14 @@ pub fn start(conf: &Server, event_url: String, command_url: String, gateway_id:
114114

115115
// setup state
116116
let state = State {
117+
socket,
117118
server: conf.server.clone(),
118119
keepalive_interval: match conf.keepalive_interval_secs {
119120
0 => time::Duration::from_secs(5),
120121
_ => time::Duration::from_secs(conf.keepalive_interval_secs),
121122
},
122123
keepalive_max_failures: conf.keepalive_max_failures,
123124
gateway_id: gateway_id.clone(),
124-
socket: socket,
125125
push_data_token: Mutex::new(0),
126126
push_data_sent: Mutex::new(0),
127127
push_data_acked: Mutex::new(0),
@@ -192,7 +192,7 @@ fn pull_data_loop(state: Arc<State>, signal_pool: signals::SignalPool) {
192192
state.server,
193193
state.get_pull_data_token()
194194
);
195-
missed_acks = missed_acks + 1;
195+
missed_acks += 1;
196196
} else {
197197
missed_acks = 0;
198198
}
@@ -233,7 +233,10 @@ fn udp_receive_loop(state: Arc<State>, stop_receive: Receiver<signals::Signal>)
233233
let mut buffer: [u8; 65535] = [0; 65535];
234234

235235
loop {
236-
if let Ok(_) = stop_receive.recv_timeout(time::Duration::from_millis(0)) {
236+
if stop_receive
237+
.recv_timeout(time::Duration::from_millis(0))
238+
.is_ok()
239+
{
237240
debug!("Terminating UDP receive loop, server: {}", state.server);
238241
return;
239242
};
@@ -298,17 +301,20 @@ fn events_loop(state: Arc<State>, stop_receive: Receiver<signals::Signal>) {
298301
let reader = events::Reader::new(&event_sock, time::Duration::from_millis(100));
299302

300303
for cmd in reader {
301-
if let Ok(_) = stop_receive.recv_timeout(time::Duration::from_millis(0)) {
304+
if stop_receive
305+
.recv_timeout(time::Duration::from_millis(0))
306+
.is_ok()
307+
{
302308
debug!("Terminating events loop, server: {}", state.server);
303309
return;
304310
}
305311

306312
match cmd {
307313
events::Event::Uplink(up) => {
308-
events_up(&state, up);
314+
events_up(&state, *up);
309315
}
310316
events::Event::Stats(stats) => {
311-
events_stats(&state, stats);
317+
events_stats(&state, *stats);
312318
}
313319
events::Event::Timeout => {
314320
continue;
@@ -367,10 +373,10 @@ fn events_stats(state: &Arc<State>, stats: chirpstack_api::gw::GatewayStats) {
367373
}
368374

369375
fn events_up(state: &Arc<State>, up: chirpstack_api::gw::UplinkFrame) {
370-
let rxpk = match structs::RXPK::from_proto(&up) {
376+
let rxpk = match structs::RxPk::from_proto(&up) {
371377
Ok(v) => v,
372378
Err(err) => {
373-
error!("RXPK from proto message error: {}", err);
379+
error!("RxPk from proto message error: {}", err);
374380
return;
375381
}
376382
};
@@ -404,7 +410,7 @@ fn events_up(state: &Arc<State>, up: chirpstack_api::gw::UplinkFrame) {
404410
}
405411

406412
fn handle_push_ack(state: &Arc<State>, data: &[u8]) -> Result<(), String> {
407-
let push_ack = structs::PushAck::from_bytes(&data)?;
413+
let push_ack = structs::PushAck::from_bytes(data)?;
408414
let expected_token = state.get_push_data_token();
409415

410416
if push_ack.random_token == expected_token {
@@ -445,7 +451,7 @@ fn handle_pull_resp(state: &Arc<State>, data: &[u8]) -> Result<(), String> {
445451
{
446452
Ok(v) => v,
447453
Err(err) => {
448-
return Err(format!("TXPK to proto error: {}", err).to_string());
454+
return Err(format!("TxPk to proto error: {}", err));
449455
}
450456
};
451457

@@ -468,7 +474,7 @@ fn handle_pull_resp(state: &Arc<State>, data: &[u8]) -> Result<(), String> {
468474
let tx_ack = match chirpstack_api::gw::DownlinkTxAck::decode(resp_b) {
469475
Ok(v) => v,
470476
Err(err) => {
471-
return Err(format!("decode DownlinkTxAck error: {}", err).to_string());
477+
return Err(format!("decode DownlinkTxAck error: {}", err));
472478
}
473479
};
474480

src/helpers.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,5 +18,5 @@ pub fn get_gateway_id(command_url: &str) -> Result<Vec<u8>, String> {
1818

1919
// read 'gateway_id' response
2020
let gateway_id = sock.recv_bytes(0).unwrap();
21-
return Ok(gateway_id);
21+
Ok(gateway_id)
2222
}

src/logging.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@ pub fn setup(name: &str, level: log::Level, syslog: bool) -> Result<(), String>
88
facility: Facility::LOG_USER,
99
hostname: None,
1010
process: name.to_string(),
11-
pid: process::id() as u32,
11+
pid: process::id(),
1212
};
1313
let logger = match syslog::unix(formatter) {
1414
Ok(v) => v,
15-
Err(err) => return Err(format!("create syslog logger error: {}", err).to_string()),
15+
Err(err) => return Err(format!("create syslog logger error: {}", err)),
1616
};
1717

1818
log::set_boxed_logger(Box::new(BasicLogger::new(logger)))
@@ -22,5 +22,5 @@ pub fn setup(name: &str, level: log::Level, syslog: bool) -> Result<(), String>
2222
simple_logger::init_with_level(level).unwrap();
2323
}
2424

25-
return Ok(());
25+
Ok(())
2626
}

src/main.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ fn main() {
3333
log::Level::from_str(&config.udp_forwarder.log_level).expect("parse log_level error");
3434

3535
logging::setup(
36-
&"chirpstack-udp-forwarder",
36+
"chirpstack-udp-forwarder",
3737
log_level,
3838
config.udp_forwarder.log_to_syslog,
3939
)
@@ -69,9 +69,9 @@ fn main() {
6969
}
7070

7171
// metrics
72-
if config.udp_forwarder.metrics_bind != "" {
72+
if !config.udp_forwarder.metrics_bind.is_empty() {
7373
threads.push(thread::spawn({
74-
let bind = config.udp_forwarder.metrics_bind.clone();
74+
let bind = config.udp_forwarder.metrics_bind;
7575
move || metrics::start(bind)
7676
}));
7777
}

src/metrics.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ fn handle_request(stream: TcpStream) {
6969

7070
fn handle_read(mut stream: &TcpStream) {
7171
let mut buffer = [0; 1024];
72-
stream.read(&mut buffer).unwrap();
72+
let _ = stream.read(&mut buffer).unwrap();
7373
}
7474

7575
fn handle_write(mut stream: TcpStream) {
@@ -89,6 +89,5 @@ fn handle_write(mut stream: TcpStream) {
8989

9090
if let Err(err) = stream.write(&buffer) {
9191
error!("Write metrics error: {}", err);
92-
return;
9392
};
9493
}

src/signals.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ impl SignalPool {
1717
pub fn new_receiver(&mut self) -> Receiver<Signal> {
1818
let (sender, receiver) = channel();
1919
self.senders.push(sender);
20-
return receiver;
20+
receiver
2121
}
2222

2323
pub fn send_signal(self, signal: Signal) {

0 commit comments

Comments
 (0)