extern crate framestream;
extern crate mio;
extern crate protobuf;
mod context;
mod dns_message;
mod dnstap_builder;
mod dnstap_pb;
mod dnstap_writer;
pub use dnstap_pb::Message_Type as MessageType;
pub use dnstap_pb::SocketFamily;
pub use dnstap_pb::SocketProtocol;
pub use dns_message::*;
pub use dnstap_builder::*;
pub use dnstap_writer::*;
fn main() {
use std::net::IpAddr;
use std::str::FromStr;
use std::thread;
use std::time;
let dnstap_pending_writer = DNSTapBuilder::default()
.backlog(1024)
.unix_socket_path("/tmp/dnstap.sock")
.listen()
.unwrap();
let dnstap_writer = dnstap_pending_writer.start();
loop {
let dns_message = AuthQuery {
identity: Some("id".as_bytes().to_vec()),
version: Some("version".as_bytes().to_vec()),
socket_protocol: SocketProtocol::UDP,
query_address: IpAddr::from_str("8.8.8.8").unwrap(),
query_port: 42,
query_time: time::Duration::new(1, 2),
query_packet: vec![1, 2, 3, 4],
};
dnstap_writer.sender().send(dns_message.into()).ok().unwrap();
thread::sleep(time::Duration::from_secs(1));
println!("Bim");
}
dnstap_writer.join().unwrap();
}