Skip to content

Instantly share code, notes, and snippets.

@tomusdrw
tomusdrw / pubsub-macros.rs
Last active March 6, 2017 16:08
Pub-Sub jsonrpc Macros example proposal
extern crate jsonrpc_core;
extern crate jsonrpc_pubsub;
#[macro_use]
extern crate jsonrpc_macros;
extern crate jsonrpc_tcp_server;
use std::thread;
use std::sync::{atomic, Arc, RwLock};
use std::collections::HashMap;
// now let's rebuild the blooms
if !request.enacted.is_empty() {
let range_start = request.block_number as Number + 1 - request.enacted.len();
let range_end = range_start + request.retracted;
let replaced_range = range_start..range_end;
let enacted_blooms = request.enacted
.iter()
// all traces are expected to be found here. That's why `expect` has been used
// instead of `filter_map`. If some traces haven't been found, it meens that
{
"nodes": [
{ "url": "enode://ad0f88638e5e4621cec5632e01d13710ee4a83512a4b828b24d7ef63bbe9238ec1f178ef8fda007281761e5da3709d6c7992f526945003e24d9bd02f414d7122@78.46.49.102:30304", "failures": 0 },
{ "url": "enode://a717d29e78ffd3c9dce0186257d83fb65bdb9289b317e9e5388d7497a9ff347693a081dea9dcc83334f824f98d6bf926bac9d47153e14f861c6d8b807ab20019@76.184.243.139:30303", "failures": 0 },
{ "url": "enode://6b253139c44aa20b233d68e69922c6d3bccc294b6a5619d416186edab13504a589f941222283d6537d06f0752bc3b79c4c2200bf91cd7b28adcf9b05e754f0e6@198.199.90.70:30303", "failures": 0 },
{ "url": "enode://5b529eb4e451de88eb9442d9963e88740632077ec19a364cafecb059031c4632bd5aaec67389efb2ad7487a014f987b760a899dc6f6cd4190d2502767b65210b@74.71.26.202:30303+1120", "failures": 0 },
{ "url": "enode://dc30a110a0dbb1146e4ec117fae1207ecafd320b64ffa72b2fa364ad9b1e81eb9567e1cb2c4b73fd420b9cc6ae9becf6e591cf544c2a27c6db505b725ab7ae1c@95.78.158.48:30303", "failures": 0 },
{ "url": "enode://865cda0c7c2fb72f599cb18b364f848a86ea268c1b9b2d871c2214