Struct nng::Dialer [−][src]
pub struct Dialer { /* fields omitted */ }
An active outgoing connection.
A Dialer
is responsible for establishing and maintaining outgoing
connections. If a connection is ever broken, or fails, the Dialer
object
automatically attempts to reconnect.
Directly creating a Dialer
is only necessary when one wishes to
configure the connection before opening it or if one wants to close the
outgoing connection without closing the socket. Otherwise, Socket::dial
can be used.
Note that the client/server relationship described by a dialer/listener is completely orthogonal to any similar relationship in the protocols. For example, a rep socket may use a dialer to connect to a listener on a req socket. This orthogonality can lead to innovative solutions to otherwise challenging communications problems.
See the NNG documentation for more information.
Implementations
impl Dialer
[src]
impl Dialer
[src]pub fn new(socket: &Socket, url: &str, nonblocking: bool) -> Result<Self>
[src]
Creates a new dialer object associated with the given socket.
Note that this will immediately start the dialer so no configuration
will be possible. Use DialerBuilder
to change the dialer options
before starting it.
Errors
AddressInvalid
: An invalid url was specified.Closed
: The socket is not open.ConnectionRefused
: The remote peer refused the connection.ConnectionReset
: The remote peer reset the connection.DestUnreachable
: The remote address is not reachable.OutOfMemory
: Insufficient memory is available.PeerAuth
: Authentication or authorization failure.Protocol
: A protocol error occurred.
pub fn close(self)
[src]
Closes the dialer.
This also closes any Pipe
objects that have been created by the
dialer. Once this function returns, the dialer has been closed and all
of its resources have been deallocated. Therefore, any attempt to
utilize the dialer (with this or any other handle) will result in
an error.
Dialers are implicitly closed when the socket they are associated with is closed. Dialers are not closed when all handles are dropped.
Trait Implementations
impl GetOpt<ReconnectMaxTime> for Dialer
[src]
impl GetOpt<ReconnectMaxTime> for Dialer
[src]impl GetOpt<ReconnectMinTime> for Dialer
[src]
impl GetOpt<ReconnectMinTime> for Dialer
[src]impl GetOpt<RecvBufferSize> for Dialer
[src]
impl GetOpt<RecvBufferSize> for Dialer
[src]impl GetOpt<RecvMaxSize> for Dialer
[src]
impl GetOpt<RecvMaxSize> for Dialer
[src]impl GetOpt<RecvTimeout> for Dialer
[src]
impl GetOpt<RecvTimeout> for Dialer
[src]impl GetOpt<ResendTime> for Dialer
[src]
impl GetOpt<ResendTime> for Dialer
[src]impl GetOpt<SendBufferSize> for Dialer
[src]
impl GetOpt<SendBufferSize> for Dialer
[src]impl GetOpt<SendTimeout> for Dialer
[src]
impl GetOpt<SendTimeout> for Dialer
[src]impl GetOpt<SocketName> for Dialer
[src]
impl GetOpt<SocketName> for Dialer
[src]impl GetOpt<SurveyTime> for Dialer
[src]
impl GetOpt<SurveyTime> for Dialer
[src]impl PartialOrd<Dialer> for Dialer
[src]
impl PartialOrd<Dialer> for Dialer
[src]Auto Trait Implementations
impl RefUnwindSafe for Dialer
impl RefUnwindSafe for Dialer
impl UnwindSafe for Dialer
impl UnwindSafe for Dialer