#![feature(collections)]
#![doc(html_logo_url = "http://maidsafe.net/img/Resources/branding/maidsafe_logo.fab2.png",
html_favicon_url = "http://maidsafe.net/img/favicon.ico",
html_root_url = "http://dirvine.github.io/routing")]
#![allow(dead_code, unused_variables, unused_features, unused_attributes)]
#![feature(custom_derive, rand, collection, std_misc, unsafe_destructor, unboxed_closures, io, core,
thread_sleep, ip_addr, convert, scoped)]
extern crate sodiumoxide;
extern crate lru_time_cache;
extern crate message_filter;
extern crate rustc_serialize;
extern crate cbor;
extern crate rand;
extern crate time;
extern crate sqlite3;
extern crate crust;
use sodiumoxide::crypto;
pub mod routing_client;
pub mod types;
mod message_header;
mod routing_table;
mod accumulator;
mod common_bits;
mod sentinel;
mod bootstrap;
mod messages;
pub mod routing_node;
pub mod facade;
use types::DhtId;
struct SignedKey {
sign_public_key: crypto::sign::PublicKey,
encrypt_public_key: crypto::asymmetricbox::PublicKey,
signature: crypto::sign::Signature, }
pub enum Action {
Reply(Vec<u8>),
SendOn(Vec<DhtId>),
}
pub enum RoutingError {
Success, NoData,
InvalidRequest,
IncorrectData(Vec<u8>),
}
#[test]
fn facade_implementation() {
mod routing_node;
use facade::{Facade};
use types::{DhtId, DestinationAddress, Authority};
struct MyFacade;
impl Facade for MyFacade {
fn handle_get(&mut self, type_id: u64, our_authority: Authority, from_authority: Authority,from_address: DhtId , data: Vec<u8>)->Result<Action, RoutingError> { unimplemented!(); }
fn handle_put(&mut self, our_authority: Authority, from_authority: Authority,
from_address: DhtId, dest_address: DestinationAddress, data: Vec<u8>)->Result<Action, RoutingError> { unimplemented!(); }
fn handle_post(&mut self, our_authority: Authority, from_authority: Authority, from_address: DhtId, data: Vec<u8>)->Result<Action, RoutingError> { unimplemented!(); }
fn handle_get_response(&mut self, from_address: DhtId , response: Result<Vec<u8>, RoutingError>) { unimplemented!() }
fn handle_put_response(&mut self, from_authority: Authority,from_address: DhtId , response: Result<Vec<u8>, RoutingError>) { unimplemented!(); }
fn handle_post_response(&mut self, from_authority: Authority,from_address: DhtId , response: Result<Vec<u8>, RoutingError>) { unimplemented!(); }
fn add_node(&mut self, node: DhtId) { unimplemented!(); }
fn drop_node(&mut self, node: DhtId) { unimplemented!(); }
}
let my_facade = MyFacade;
let my_routing = routing_node::RoutingNode::new(DhtId::generate_random(), my_facade);
}