Work around ICE
This commit is contained in:
parent
28c482691a
commit
a5bb7b7f92
@ -70,9 +70,7 @@ pub type TimerToken = service::TimerToken;
|
|||||||
pub type StreamToken = service::StreamToken;
|
pub type StreamToken = service::StreamToken;
|
||||||
pub type IoContext<'s, M> = service::IoContext<'s, M>;
|
pub type IoContext<'s, M> = service::IoContext<'s, M>;
|
||||||
pub type IoService<M> = service::IoService<M>;
|
pub type IoService<M> = service::IoService<M>;
|
||||||
pub const USER_TOKEN_START: usize = service::USER_TOKEN;
|
//pub const USER_TOKEN_START: usize = service::USER_TOKEN; // TODO: ICE in rustc 1.7.0-nightly (49c382779 2016-01-12)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
|
@ -13,7 +13,7 @@ pub type StreamToken = usize;
|
|||||||
const MAX_USER_TIMERS: usize = 32;
|
const MAX_USER_TIMERS: usize = 32;
|
||||||
const USER_TIMER: usize = 0;
|
const USER_TIMER: usize = 0;
|
||||||
const LAST_USER_TIMER: usize = USER_TIMER + MAX_USER_TIMERS - 1;
|
const LAST_USER_TIMER: usize = USER_TIMER + MAX_USER_TIMERS - 1;
|
||||||
pub const USER_TOKEN: usize = LAST_USER_TIMER + 1;
|
//const USER_TOKEN: usize = LAST_USER_TIMER + 1;
|
||||||
|
|
||||||
/// Messages used to communicate with the event loop from other threads.
|
/// Messages used to communicate with the event loop from other threads.
|
||||||
pub enum IoMessage<Message> where Message: Send + Sized {
|
pub enum IoMessage<Message> where Message: Send + Sized {
|
||||||
|
@ -45,12 +45,13 @@ impl NetworkConfiguration {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Tokens
|
// Tokens
|
||||||
const TOKEN_BEGIN: usize = USER_TOKEN_START;
|
//const TOKEN_BEGIN: usize = USER_TOKEN_START; // TODO: ICE in rustc 1.7.0-nightly (49c382779 2016-01-12)
|
||||||
const TCP_ACCEPT: usize = TOKEN_BEGIN;
|
const TOKEN_BEGIN: usize = 32;
|
||||||
const IDLE: usize = TOKEN_BEGIN + 1;
|
const TCP_ACCEPT: usize = TOKEN_BEGIN + 1;
|
||||||
const NODETABLE_RECEIVE: usize = TOKEN_BEGIN + 2;
|
const IDLE: usize = TOKEN_BEGIN + 2;
|
||||||
const NODETABLE_MAINTAIN: usize = TOKEN_BEGIN + 3;
|
const NODETABLE_RECEIVE: usize = TOKEN_BEGIN + 3;
|
||||||
const NODETABLE_DISCOVERY: usize = TOKEN_BEGIN + 4;
|
const NODETABLE_MAINTAIN: usize = TOKEN_BEGIN + 4;
|
||||||
|
const NODETABLE_DISCOVERY: usize = TOKEN_BEGIN + 5;
|
||||||
const FIRST_CONNECTION: usize = TOKEN_BEGIN + 16;
|
const FIRST_CONNECTION: usize = TOKEN_BEGIN + 16;
|
||||||
const LAST_CONNECTION: usize = FIRST_CONNECTION + MAX_CONNECTIONS - 1;
|
const LAST_CONNECTION: usize = FIRST_CONNECTION + MAX_CONNECTIONS - 1;
|
||||||
|
|
||||||
@ -545,9 +546,9 @@ impl<Message> IoHandler<NetworkIoMessage<Message>> for Host<Message> where Messa
|
|||||||
|
|
||||||
fn stream_readable<'s>(&'s mut self, io: &mut IoContext<'s, NetworkIoMessage<Message>>, stream: StreamToken) {
|
fn stream_readable<'s>(&'s mut self, io: &mut IoContext<'s, NetworkIoMessage<Message>>, stream: StreamToken) {
|
||||||
match stream {
|
match stream {
|
||||||
TCP_ACCEPT => self.accept(io),
|
|
||||||
FIRST_CONNECTION ... LAST_CONNECTION => self.connection_readable(stream, io),
|
FIRST_CONNECTION ... LAST_CONNECTION => self.connection_readable(stream, io),
|
||||||
NODETABLE_RECEIVE => {},
|
NODETABLE_RECEIVE => {},
|
||||||
|
TCP_ACCEPT => self.accept(io),
|
||||||
_ => panic!("Received unknown readable token"),
|
_ => panic!("Received unknown readable token"),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user