pub struct BacnetClient<D: DataLink> { /* private fields */ }Implementations§
Source§impl BacnetClient<BacnetIpTransport>
impl BacnetClient<BacnetIpTransport>
pub async fn new() -> Result<Self, ClientError>
pub async fn new_foreign( bbmd_addr: SocketAddr, ttl_seconds: u16, ) -> Result<Self, ClientError>
pub async fn register_foreign_device( &self, ttl_seconds: u16, ) -> Result<(), ClientError>
pub async fn read_broadcast_distribution_table( &self, ) -> Result<Vec<BroadcastDistributionEntry>, ClientError>
pub async fn write_broadcast_distribution_table( &self, entries: &[BroadcastDistributionEntry], ) -> Result<(), ClientError>
pub async fn read_foreign_device_table( &self, ) -> Result<Vec<ForeignDeviceTableEntry>, ClientError>
pub async fn delete_foreign_device_table_entry( &self, address: SocketAddrV4, ) -> Result<(), ClientError>
pub fn start_foreign_device_renewal( &self, ttl_seconds: u16, ) -> Result<ForeignDeviceRenewal, ClientError>
Source§impl<D: DataLink> BacnetClient<D>
impl<D: DataLink> BacnetClient<D>
pub fn with_datalink(datalink: D) -> Self
pub fn with_response_timeout(self, timeout: Duration) -> Self
pub fn with_segmented_request_window_size(self, window_size: u8) -> Self
pub fn with_segmented_request_retries(self, retries: u8) -> Self
pub fn with_segment_ack_timeout(self, timeout: Duration) -> Self
pub async fn who_is( &self, range: Option<(u32, u32)>, wait: Duration, ) -> Result<Vec<DiscoveredDevice>, ClientError>
pub async fn who_has_object_id( &self, range: Option<(u32, u32)>, object_id: ObjectId, wait: Duration, ) -> Result<Vec<DiscoveredObject>, ClientError>
pub async fn who_has_object_name( &self, range: Option<(u32, u32)>, object_name: &str, wait: Duration, ) -> Result<Vec<DiscoveredObject>, ClientError>
pub async fn device_communication_control( &self, address: DataLinkAddress, time_duration_seconds: Option<u16>, enable_disable: DeviceCommunicationState, password: Option<&str>, ) -> Result<(), ClientError>
pub async fn reinitialize_device( &self, address: DataLinkAddress, state: ReinitializeState, password: Option<&str>, ) -> Result<(), ClientError>
pub async fn time_synchronize( &self, address: DataLinkAddress, date: Date, time: Time, utc: bool, ) -> Result<(), ClientError>
pub async fn create_object_by_type( &self, address: DataLinkAddress, object_type: ObjectType, ) -> Result<ObjectId, ClientError>
pub async fn create_object( &self, address: DataLinkAddress, request: CreateObjectRequest, ) -> Result<ObjectId, ClientError>
pub async fn delete_object( &self, address: DataLinkAddress, object_id: ObjectId, ) -> Result<(), ClientError>
pub async fn add_list_element( &self, address: DataLinkAddress, request: AddListElementRequest<'_>, ) -> Result<(), ClientError>
pub async fn remove_list_element( &self, address: DataLinkAddress, request: RemoveListElementRequest<'_>, ) -> Result<(), ClientError>
pub async fn get_alarm_summary( &self, address: DataLinkAddress, ) -> Result<Vec<AlarmSummaryItem>, ClientError>
pub async fn get_enrollment_summary( &self, address: DataLinkAddress, ) -> Result<Vec<EnrollmentSummaryItem>, ClientError>
pub async fn get_event_information( &self, address: DataLinkAddress, last_received_object_id: Option<ObjectId>, ) -> Result<EventInformationResult, ClientError>
pub async fn acknowledge_alarm( &self, address: DataLinkAddress, request: AcknowledgeAlarmRequest<'_>, ) -> Result<(), ClientError>
pub async fn atomic_read_file_stream( &self, address: DataLinkAddress, file_object_id: ObjectId, file_start_position: i32, requested_octet_count: u32, ) -> Result<AtomicReadFileResult, ClientError>
pub async fn atomic_read_file_record( &self, address: DataLinkAddress, file_object_id: ObjectId, file_start_record: i32, requested_record_count: u32, ) -> Result<AtomicReadFileResult, ClientError>
pub async fn atomic_write_file_stream( &self, address: DataLinkAddress, file_object_id: ObjectId, file_start_position: i32, file_data: &[u8], ) -> Result<AtomicWriteFileResult, ClientError>
pub async fn atomic_write_file_record( &self, address: DataLinkAddress, file_object_id: ObjectId, file_start_record: i32, file_record_data: &[&[u8]], ) -> Result<AtomicWriteFileResult, ClientError>
pub async fn subscribe_cov( &self, address: DataLinkAddress, request: SubscribeCovRequest, ) -> Result<(), ClientError>
pub async fn cancel_cov_subscription( &self, address: DataLinkAddress, subscriber_process_id: u32, monitored_object_id: ObjectId, ) -> Result<(), ClientError>
pub async fn subscribe_cov_property( &self, address: DataLinkAddress, request: SubscribeCovPropertyRequest, ) -> Result<(), ClientError>
pub async fn cancel_cov_property_subscription( &self, address: DataLinkAddress, subscriber_process_id: u32, monitored_object_id: ObjectId, monitored_property_id: PropertyId, monitored_property_array_index: Option<u32>, ) -> Result<(), ClientError>
pub async fn read_range_by_position( &self, address: DataLinkAddress, object_id: ObjectId, property_id: PropertyId, array_index: Option<u32>, reference_index: i32, count: i16, ) -> Result<ReadRangeResult, ClientError>
pub async fn read_range_by_sequence_number( &self, address: DataLinkAddress, object_id: ObjectId, property_id: PropertyId, array_index: Option<u32>, reference_sequence: u32, count: i16, ) -> Result<ReadRangeResult, ClientError>
pub async fn read_range_by_time( &self, address: DataLinkAddress, object_id: ObjectId, property_id: PropertyId, array_index: Option<u32>, at: (Date, Time), count: i16, ) -> Result<ReadRangeResult, ClientError>
pub async fn recv_cov_notification( &self, wait: Duration, ) -> Result<Option<CovNotification>, ClientError>
pub async fn recv_event_notification( &self, wait: Duration, ) -> Result<Option<EventNotification>, ClientError>
pub async fn read_property( &self, address: DataLinkAddress, object_id: ObjectId, property_id: PropertyId, ) -> Result<ClientDataValue, ClientError>
pub async fn write_property( &self, address: DataLinkAddress, request: WritePropertyRequest<'_>, ) -> Result<(), ClientError>
pub async fn read_property_multiple( &self, address: DataLinkAddress, object_id: ObjectId, property_ids: &[PropertyId], ) -> Result<Vec<(PropertyId, ClientDataValue)>, ClientError>
pub async fn write_property_multiple( &self, address: DataLinkAddress, object_id: ObjectId, properties: &[PropertyWriteSpec<'_>], ) -> Result<(), ClientError>
Sourcepub async fn private_transfer(
&self,
address: DataLinkAddress,
vendor_id: u32,
service_number: u32,
service_parameters: Option<&[u8]>,
) -> Result<PrivateTransferAck, ClientError>
pub async fn private_transfer( &self, address: DataLinkAddress, vendor_id: u32, service_number: u32, service_parameters: Option<&[u8]>, ) -> Result<PrivateTransferAck, ClientError>
Send a ConfirmedPrivateTransfer request and return the ack.
Trait Implementations§
Auto Trait Implementations§
impl<D> !Freeze for BacnetClient<D>
impl<D> !RefUnwindSafe for BacnetClient<D>
impl<D> Send for BacnetClient<D>
impl<D> Sync for BacnetClient<D>
impl<D> Unpin for BacnetClient<D>where
D: Unpin,
impl<D> UnwindSafe for BacnetClient<D>where
D: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more