Skip to content

Commit 8cda939

Browse files
authored
Merge pull request #273 from espindola/queue_id
Make queue_id non-optional
2 parents 2d1922c + 9ef8aea commit 8cda939

File tree

1 file changed

+4
-6
lines changed

1 file changed

+4
-6
lines changed

src/conn/pool/futures/get_conn.rs

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ impl GetConnInner {
6666
#[derive(Debug)]
6767
#[must_use = "futures do nothing unless you `.await` or poll them"]
6868
pub struct GetConn {
69-
pub(crate) queue_id: Option<QueueId>,
69+
pub(crate) queue_id: QueueId,
7070
pub(crate) pool: Option<Pool>,
7171
pub(crate) inner: GetConnInner,
7272
reset_upon_returning_to_a_pool: bool,
@@ -77,7 +77,7 @@ pub struct GetConn {
7777
impl GetConn {
7878
pub(crate) fn new(pool: &Pool, reset_upon_returning_to_a_pool: bool) -> GetConn {
7979
GetConn {
80-
queue_id: None,
80+
queue_id: QueueId::next(),
8181
pool: Some(pool.clone()),
8282
inner: GetConnInner::New,
8383
reset_upon_returning_to_a_pool,
@@ -112,7 +112,7 @@ impl Future for GetConn {
112112
loop {
113113
match self.inner {
114114
GetConnInner::New => {
115-
let queue_id = *self.queue_id.get_or_insert_with(QueueId::next);
115+
let queue_id = self.queue_id;
116116
let next = ready!(Pin::new(self.pool_mut()).poll_new_conn(cx, queue_id))?;
117117
match next {
118118
GetConnInner::Connecting(conn_fut) => {
@@ -185,9 +185,7 @@ impl Drop for GetConn {
185185
if let Some(pool) = self.pool.take() {
186186
// Remove the waker from the pool's waitlist in case this task was
187187
// woken by another waker, like from tokio::time::timeout.
188-
if let Some(queue_id) = self.queue_id {
189-
pool.unqueue(queue_id);
190-
}
188+
pool.unqueue(self.queue_id);
191189
if let GetConnInner::Connecting(..) = self.inner.take() {
192190
pool.cancel_connection();
193191
}

0 commit comments

Comments
 (0)