Skip to content

Commit 628bca2

Browse files
committed
Store static pollable IDs in an enum
1 parent 4617aa3 commit 628bca2

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

wl-proxy/src/state/builder.rs

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ use {
88
state::{EndpointWithClient, Pollable, State, StateError, StateErrorKind},
99
utils::env::{WAYLAND_DISPLAY, WAYLAND_SOCKET, WL_PROXY_DEBUG, XDG_RUNTIME_DIR},
1010
},
11+
linearize::Linearize,
1112
std::{
1213
cell::{Cell, RefCell},
1314
collections::HashMap,
@@ -38,6 +39,11 @@ enum Server {
3839
DisplayName(String),
3940
}
4041

42+
#[derive(Copy, Clone, Linearize)]
43+
pub(crate) enum StaticPollableIds {
44+
Server,
45+
}
46+
4147
impl StateBuilder {
4248
pub(super) fn new(baseline: Baseline) -> Self {
4349
Self {
@@ -115,15 +121,14 @@ impl StateBuilder {
115121
.map_err(|e| StateErrorKind::Connect(name.to_string(), e.into()))?;
116122
Some(Rc::new(socket.into()))
117123
};
118-
const SERVER_ENDPOINT_ID: u64 = 0;
119124
let mut endpoints = HashMap::new();
120125
let mut server = None;
121126
if let Some(server_fd) = &server_fd {
122-
let s = Endpoint::new(SERVER_ENDPOINT_ID, server_fd);
127+
let s = Endpoint::new(StaticPollableIds::Server as u64, server_fd);
123128
s.idl.acquire();
124129
s.idl.acquire();
125130
endpoints.insert(
126-
SERVER_ENDPOINT_ID,
131+
StaticPollableIds::Server as u64,
127132
Pollable::Endpoint(EndpointWithClient {
128133
endpoint: s.clone(),
129134
client: None,
@@ -153,7 +158,7 @@ impl StateBuilder {
153158
let state = Rc::new(State {
154159
baseline: self.baseline,
155160
poller,
156-
next_pollable_id: Cell::new(SERVER_ENDPOINT_ID + 1),
161+
next_pollable_id: Cell::new(StaticPollableIds::LENGTH as u64),
157162
server,
158163
destroyed: Default::default(),
159164
handler: Default::default(),
@@ -190,7 +195,7 @@ impl StateBuilder {
190195
state.change_interest(server, |i| i | poll::READABLE);
191196
state
192197
.poller
193-
.register(0, server.socket.as_fd())
198+
.register(server.id, server.socket.as_fd())
194199
.map_err(StateErrorKind::PollError)?;
195200
let display = WlDisplay::new(&state, 1);
196201
display

0 commit comments

Comments
 (0)