Struct nannou::osc::send::Sender [−][src]
pub struct Sender<M = Unconnected> { /* fields omitted */ }
A type used for sending OSC packets.
Methods
impl<M> Sender<M>
[src]
impl<M> Sender<M>
pub fn local_addr(&self) -> Result<SocketAddr, Error>
[src]
pub fn local_addr(&self) -> Result<SocketAddr, Error>
The socket address that this Sender
's socket was created from.
impl Sender<Unconnected>
[src]
impl Sender<Unconnected>
pub fn bind_to<A>(addr: A) -> Result<Self, Error> where
A: ToSocketAddrs,
[src]
pub fn bind_to<A>(addr: A) -> Result<Self, Error> where
A: ToSocketAddrs,
Creates a new Sender
with the UDP socket bound to the given address. Note: this is
not the target address, rather it is the address of the socket used by the Sender
to
send packets. Use the bind
constructor instead if you would like the Sender
's socket
bound to the default address.
extern crate nannou; use nannou::osc::Sender; fn main() { let tx = Sender::bind_to("0.0.0.0:0").expect("Couldn't bind socket to the address"); }
The returned Sender
is Unconnected
, meaning that it is not currently connected to a
specific target address. This means that the target address will have to be specified when
calling send
. To connect the Sender
to a specific target address, use the connect
builder method which will return a Sender
in the Connected
mode.
pub fn bind() -> Result<Self, Error>
[src]
pub fn bind() -> Result<Self, Error>
The same as bind_to
but assumes the default_sender_socket_addr_v4
socket address.
pub fn connect<A>(self, addr: A) -> Result<Sender<Connected>, Error> where
A: ToSocketAddrs,
[src]
pub fn connect<A>(self, addr: A) -> Result<Sender<Connected>, Error> where
A: ToSocketAddrs,
Connects the Sender
's UDP socket to the given target, remote address.
The returned Sender
will only send packets to the specified address.
Returns an error if some IO error occurred.
**Panic!**s if the given addr
cannot resolve to a valid SocketAddr
.
extern crate nannou; use nannou::osc::Sender; fn main() { let tx = Sender::bind() .expect("Couldn't bind to default socket") .connect("127.0.0.1:34254") .expect("Couldn't connect to socket at address"); }
pub fn send<P, A>(
&self,
packet: P,
addr: A
) -> Result<usize, CommunicationError> where
P: Into<Packet>,
A: ToSocketAddrs,
[src]
pub fn send<P, A>(
&self,
packet: P,
addr: A
) -> Result<usize, CommunicationError> where
P: Into<Packet>,
A: ToSocketAddrs,
Sends the given packet on the Sender
s socket to the given address.
The given packet
can be of any type that can be converted directly into a Packet
. This
includes Message
, Bundle
and (String, Vec<Type>)
(which will be interpreted as a
Message
).
On success, returns the number of bytes written.
This will return a CommunicationError
if:
- The given packet fails to be encoded to bytes
- The IP version of the local socket does not match that returned from
addr
or - The inner
UdpSocket::send_to
call fails.
impl Sender<Connected>
[src]
impl Sender<Connected>
pub fn remote_addr(&self) -> SocketAddr
[src]
pub fn remote_addr(&self) -> SocketAddr
Returns the address of the socket to which the Sender
is Connected
.
pub fn send<P>(&self, packet: P) -> Result<usize, CommunicationError> where
P: Into<Packet>,
[src]
pub fn send<P>(&self, packet: P) -> Result<usize, CommunicationError> where
P: Into<Packet>,
Sends the given packet on the Sender
s socket to the connected address.
On success, returns the number of bytes written.
This will return a CommunicationError
if:
- The given packet fails to be encoded to bytes
- The IP version of the local socket does not match the connected socket or
- The inner
UdpSocket::send
call fails.