Struct unbase::network::transport::TransportUDP
[−]
[src]
pub struct TransportUDP { /* fields omitted */ }
Methods
impl TransportUDP
[src]
pub fn new(address: String) -> Self
[src]
UDP Transport
use std::{thread,time}; use unbase::{Network,Slab,SubjectHandle}; use unbase::network::transport::TransportUDP; thread::spawn(|| { let net1 = Network::create_new_system(); let udp1 = TransportUDP::new("127.0.0.1:12021".to_string()); net1.add_transport( Box::new(udp1) ); let context_a = Slab::new(&net1).create_context(); // HACK - wait for slab_b to be on the peer list, and to be hooked in to our root_index_seed thread::sleep( time::Duration::from_millis(150) ); let beast_a = SubjectHandle::new_kv(&context_a, "beast", "Lion").expect("write successful"); beast_a.set_value("sound","Grraaawrrr").expect("write successful"); // Hang out so we can help thread 2 thread::sleep(time::Duration::from_millis(500)); }); // HACK - Ensure slab_a is listening thread::sleep( time::Duration::from_millis(20) ); thread::spawn(|| { let net2 = Network::new(); net2.hack_set_next_slab_id(200); let udp2 = TransportUDP::new("127.0.0.1:12022".to_string()); net2.add_transport( Box::new(udp2.clone()) ); let slab_b = Slab::new(&net2); udp2.seed_address_from_string( "127.0.0.1:12021".to_string() ); let context_b = slab_b.create_context(); let beast_b = context_b.fetch_kv_wait("beast","Lion",1000).expect("it worked"); println!("The {} goes {}", beast_b.get_value("beast").expect("it worked"), beast_b.get_value("sound").expect("it worked") ) });
pub fn seed_address_from_string(&self, address_string: String)
[src]
pub fn send_to_addr(
&self,
from_slabref: &SlabRef,
memoref: MemoRef,
address: TransportAddressUDP
)
[src]
&self,
from_slabref: &SlabRef,
memoref: MemoRef,
address: TransportAddressUDP
)
Trait Implementations
impl Clone for TransportUDP
[src]
fn clone(&self) -> TransportUDP
[src]
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl Transport for TransportUDP
[src]
fn is_local(&self) -> bool
[src]
fn make_transmitter(&self, args: &TransmitterArgs) -> Option<Transmitter>
[src]
fn bind_network(&self, net: &Network)
[src]
fn unbind_network(&self, _net: &Network)
[src]
fn get_return_address(
&self,
address: &TransportAddress
) -> Option<TransportAddress>
[src]
&self,
address: &TransportAddress
) -> Option<TransportAddress>