Skip to main content

NanonisClientBuilder

Struct NanonisClientBuilder 

Source
pub struct NanonisClientBuilder { /* private fields */ }
Expand description

Builder for constructing NanonisClient instances with flexible configuration.

The builder pattern allows you to configure various aspects of the client before establishing the connection. This is more ergonomic than having multiple constructor variants.

§Examples

Basic usage:

use nanonis_rs::NanonisClient;

let client = NanonisClient::builder()
    .address("127.0.0.1")
    .port(6501)
    .debug(true)
    .build()?;

With custom timeouts:

use std::time::Duration;
use nanonis_rs::NanonisClient;

let client = NanonisClient::builder()
    .address("192.168.1.100")
    .port(6501)
    .connect_timeout(Duration::from_secs(30))
    .read_timeout(Duration::from_secs(60))
    .debug(false)
    .build()?;

Implementations§

Source§

impl NanonisClientBuilder

Source

pub fn address(self, addr: &str) -> NanonisClientBuilder

Source

pub fn port(self, port: u16) -> NanonisClientBuilder

Source

pub fn debug(self, debug: bool) -> NanonisClientBuilder

Enable or disable debug logging

Source

pub fn config(self, config: ConnectionConfig) -> NanonisClientBuilder

Set the full connection configuration

Source

pub fn connect_timeout(self, timeout: Duration) -> NanonisClientBuilder

Set connect timeout

Source

pub fn read_timeout(self, timeout: Duration) -> NanonisClientBuilder

Set read timeout

Source

pub fn write_timeout(self, timeout: Duration) -> NanonisClientBuilder

Set write timeout

Source

pub fn safe_tip_on_drop(self, enabled: bool) -> NanonisClientBuilder

Enable automatic tip safety on client drop.

When enabled, the client will automatically withdraw the Z-controller and move motors to a safe position when dropped. This is a safety feature to protect the tip if the program exits unexpectedly.

Warning: This will move hardware on every client drop, including normal program termination. Only enable if you want this behavior.

Default: false (disabled)

Source

pub fn build(self) -> Result<NanonisClient, NanonisError>

Build the NanonisClient

Trait Implementations§

Source§

impl Default for NanonisClientBuilder

Source§

fn default() -> NanonisClientBuilder

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.