     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27

    //! Helper type with all filter state data.

    use std::collections::HashSet;
    use util::hash::H256;
    use v1::types::{Filter, Log};

    pub type BlockNumber = u64;

    /// Filter state.
    #[derive(Clone)]
    pub enum PollFilter {
    	/// Number of last block which client was notified about.
    	Block(BlockNumber),
    	/// Hashes of all transactions which client was notified about.
    	PendingTransaction(Vec<H256>),
    	/// Number of From block number, pending logs and log filter itself.
    	Logs(BlockNumber, HashSet<Log>, Filter)
    }

    /// Returns only last `n` logs
    pub fn limit_logs(mut logs: Vec<Log>, limit: Option<usize>) -> Vec<Log> {
    	let len = logs.len();
    	match limit {
    		Some(limit) if len >= limit => logs.split_off(len - limit),
    		_ => logs,
    	}
    }

# Help

## Keyboard Shortcuts

?
  Show this help dialog
S
  Focus the search field
⇤
  Move up in search results
⇥
  Move down in search results
⏎
  Go to active search result
+
  Collapse/expand all sections

## Search Tricks

Prefix searches with a type followed by a colon (e.g. `fn:`) to restrict the search to a given type.

Accepted types are: `fn`, `mod`, `struct`, `enum`, `trait`, `type`, `macro`, and `const`.

Search functions by type signature (e.g. `vec -> usize` or `* -> vec`)