Trait opcua_server::prelude::BinaryEncoder
source · pub trait BinaryEncoder<T> {
fn byte_len(&self) -> usize;
fn encode<S>(&self, stream: &mut S) -> Result<usize, StatusCode>
where
S: Write;
fn decode<S>(
stream: &mut S,
decoding_limits: &DecodingLimits
) -> Result<T, StatusCode>
where
S: Read;
fn to_vec(&self) -> Vec<u8, Global> ⓘ { ... }
}Expand description
OPC UA Binary Encoding interface. Anything that encodes to binary must implement this. It provides functions to calculate the size in bytes of the struct (for allocating memory), encoding to a stream and decoding from a stream.
Required Methods§
sourcefn byte_len(&self) -> usize
fn byte_len(&self) -> usize
Returns the byte length of the structure. This calculation should be exact and as efficient as possible.
sourcefn encode<S>(&self, stream: &mut S) -> Result<usize, StatusCode>where
S: Write,
fn encode<S>(&self, stream: &mut S) -> Result<usize, StatusCode>where
S: Write,
Encodes the instance to the write stream.
sourcefn decode<S>(
stream: &mut S,
decoding_limits: &DecodingLimits
) -> Result<T, StatusCode>where
S: Read,
fn decode<S>(
stream: &mut S,
decoding_limits: &DecodingLimits
) -> Result<T, StatusCode>where
S: Read,
Decodes an instance from the read stream. The decoding limits are restrictions set by the server / client
on the length of strings, arrays etc. If these limits are exceeded the implementation should
return with a BadDecodingError as soon as possible.
Provided Methods§
Implementations on Foreign Types§
source§impl BinaryEncoder<u8> for u8
impl BinaryEncoder<u8> for u8
An unsigned byt integer value between 0 and 255.
source§impl BinaryEncoder<i8> for i8
impl BinaryEncoder<i8> for i8
source§impl BinaryEncoder<i32> for i32
impl BinaryEncoder<i32> for i32
A signed integer value between −2147483648 and 2147483647.
source§impl BinaryEncoder<u16> for u16
impl BinaryEncoder<u16> for u16
An unsigned integer value between 0 and 65535.
source§impl BinaryEncoder<f32> for f32
impl BinaryEncoder<f32> for f32
An IEEE single precision (32 bit) floating point value.
source§impl BinaryEncoder<u32> for u32
impl BinaryEncoder<u32> for u32
An unsigned integer value between 0 and 4294967295.
source§impl BinaryEncoder<i16> for i16
impl BinaryEncoder<i16> for i16
A signed integer value between −32768 and 32767.
source§impl BinaryEncoder<i64> for i64
impl BinaryEncoder<i64> for i64
A signed integer value between −9223372036854775808 and 9223372036854775807.
source§impl BinaryEncoder<bool> for bool
impl BinaryEncoder<bool> for bool
source§impl BinaryEncoder<f64> for f64
impl BinaryEncoder<f64> for f64
An IEEE double precision (64 bit) floating point value.
source§impl BinaryEncoder<u64> for u64
impl BinaryEncoder<u64> for u64
An unsigned integer value between 0 and 18446744073709551615.
Implementors§
impl BinaryEncoder<MessageSecurityMode> for MessageSecurityMode
impl BinaryEncoder<MonitoringMode> for MonitoringMode
impl BinaryEncoder<SecurityHeader> for SecurityHeader
impl BinaryEncoder<SupportedMessage> for SupportedMessage
impl BinaryEncoder<Variant> for Variant
impl BinaryEncoder<ApplicationType> for ApplicationType
impl BinaryEncoder<BrowseDirection> for BrowseDirection
impl BinaryEncoder<DataChangeTrigger> for DataChangeTrigger
impl BinaryEncoder<FilterOperator> for FilterOperator
impl BinaryEncoder<NodeClass> for NodeClass
impl BinaryEncoder<SecurityTokenRequestType> for SecurityTokenRequestType
impl BinaryEncoder<ServerState> for ServerState
impl BinaryEncoder<TimestampsToReturn> for TimestampsToReturn
impl BinaryEncoder<UserTokenType> for UserTokenType
impl BinaryEncoder<Argument> for opcua_server::prelude::argument::Argument
impl BinaryEncoder<ActivateSessionRequest> for ActivateSessionRequest
impl BinaryEncoder<ActivateSessionResponse> for ActivateSessionResponse
impl BinaryEncoder<AddNodesItem> for AddNodesItem
impl BinaryEncoder<AddNodesRequest> for AddNodesRequest
impl BinaryEncoder<AddNodesResponse> for AddNodesResponse
impl BinaryEncoder<AddNodesResult> for AddNodesResult
impl BinaryEncoder<AddReferencesItem> for AddReferencesItem
impl BinaryEncoder<AddReferencesRequest> for AddReferencesRequest
impl BinaryEncoder<AddReferencesResponse> for AddReferencesResponse
impl BinaryEncoder<AggregateConfiguration> for AggregateConfiguration
impl BinaryEncoder<AggregateFilter> for AggregateFilter
impl BinaryEncoder<AggregateFilterResult> for AggregateFilterResult
impl BinaryEncoder<Annotation> for Annotation
impl BinaryEncoder<AnonymousIdentityToken> for AnonymousIdentityToken
impl BinaryEncoder<ApplicationDescription> for ApplicationDescription
impl BinaryEncoder<Argument> for opcua_server::prelude::service_types::Argument
impl BinaryEncoder<AttributeOperand> for AttributeOperand
impl BinaryEncoder<BrowseDescription> for BrowseDescription
impl BinaryEncoder<BrowseNextRequest> for BrowseNextRequest
impl BinaryEncoder<BrowseNextResponse> for BrowseNextResponse
impl BinaryEncoder<BrowsePath> for BrowsePath
impl BinaryEncoder<BrowsePathResult> for BrowsePathResult
impl BinaryEncoder<BrowsePathTarget> for BrowsePathTarget
impl BinaryEncoder<BrowseRequest> for BrowseRequest
impl BinaryEncoder<BrowseResponse> for BrowseResponse
impl BinaryEncoder<BrowseResult> for BrowseResult
impl BinaryEncoder<BuildInfo> for BuildInfo
impl BinaryEncoder<CallMethodRequest> for CallMethodRequest
impl BinaryEncoder<CallMethodResult> for CallMethodResult
impl BinaryEncoder<CallRequest> for CallRequest
impl BinaryEncoder<CallResponse> for CallResponse
impl BinaryEncoder<CancelRequest> for CancelRequest
impl BinaryEncoder<CancelResponse> for CancelResponse
impl BinaryEncoder<ChannelSecurityToken> for ChannelSecurityToken
impl BinaryEncoder<CloseSecureChannelRequest> for CloseSecureChannelRequest
impl BinaryEncoder<CloseSecureChannelResponse> for CloseSecureChannelResponse
impl BinaryEncoder<CloseSessionRequest> for CloseSessionRequest
impl BinaryEncoder<CloseSessionResponse> for CloseSessionResponse
impl BinaryEncoder<ComplexNumberType> for ComplexNumberType
impl BinaryEncoder<ContentFilter> for ContentFilter
impl BinaryEncoder<ContentFilterElement> for ContentFilterElement
impl BinaryEncoder<ContentFilterElementResult> for ContentFilterElementResult
impl BinaryEncoder<ContentFilterResult> for ContentFilterResult
impl BinaryEncoder<CreateMonitoredItemsRequest> for CreateMonitoredItemsRequest
impl BinaryEncoder<CreateMonitoredItemsResponse> for CreateMonitoredItemsResponse
impl BinaryEncoder<CreateSessionRequest> for CreateSessionRequest
impl BinaryEncoder<CreateSessionResponse> for CreateSessionResponse
impl BinaryEncoder<CreateSubscriptionRequest> for CreateSubscriptionRequest
impl BinaryEncoder<CreateSubscriptionResponse> for CreateSubscriptionResponse
impl BinaryEncoder<DataChangeFilter> for DataChangeFilter
impl BinaryEncoder<DataChangeNotification> for DataChangeNotification
impl BinaryEncoder<DataTypeAttributes> for DataTypeAttributes
impl BinaryEncoder<DeleteAtTimeDetails> for DeleteAtTimeDetails
impl BinaryEncoder<DeleteEventDetails> for DeleteEventDetails
impl BinaryEncoder<DeleteMonitoredItemsRequest> for DeleteMonitoredItemsRequest
impl BinaryEncoder<DeleteMonitoredItemsResponse> for DeleteMonitoredItemsResponse
impl BinaryEncoder<DeleteNodesItem> for DeleteNodesItem
impl BinaryEncoder<DeleteNodesRequest> for DeleteNodesRequest
impl BinaryEncoder<DeleteNodesResponse> for DeleteNodesResponse
impl BinaryEncoder<DeleteRawModifiedDetails> for DeleteRawModifiedDetails
impl BinaryEncoder<DeleteReferencesItem> for DeleteReferencesItem
impl BinaryEncoder<DeleteReferencesRequest> for DeleteReferencesRequest
impl BinaryEncoder<DeleteReferencesResponse> for DeleteReferencesResponse
impl BinaryEncoder<DeleteSubscriptionsRequest> for DeleteSubscriptionsRequest
impl BinaryEncoder<DeleteSubscriptionsResponse> for DeleteSubscriptionsResponse
impl BinaryEncoder<DiscoveryConfiguration> for DiscoveryConfiguration
impl BinaryEncoder<DoubleComplexNumberType> for DoubleComplexNumberType
impl BinaryEncoder<EUInformation> for EUInformation
impl BinaryEncoder<ElementOperand> for ElementOperand
impl BinaryEncoder<EndpointConfiguration> for EndpointConfiguration
impl BinaryEncoder<EndpointDescription> for EndpointDescription
impl BinaryEncoder<EndpointUrlListDataType> for EndpointUrlListDataType
impl BinaryEncoder<EnumValueType> for EnumValueType
impl BinaryEncoder<EventFieldList> for EventFieldList
impl BinaryEncoder<EventFilter> for EventFilter
impl BinaryEncoder<EventFilterResult> for EventFilterResult
impl BinaryEncoder<EventNotificationList> for EventNotificationList
impl BinaryEncoder<FilterOperand> for FilterOperand
impl BinaryEncoder<FindServersOnNetworkRequest> for FindServersOnNetworkRequest
impl BinaryEncoder<FindServersOnNetworkResponse> for FindServersOnNetworkResponse
impl BinaryEncoder<FindServersRequest> for FindServersRequest
impl BinaryEncoder<FindServersResponse> for FindServersResponse
impl BinaryEncoder<GetEndpointsRequest> for GetEndpointsRequest
impl BinaryEncoder<GetEndpointsResponse> for GetEndpointsResponse
impl BinaryEncoder<IssuedIdentityToken> for IssuedIdentityToken
impl BinaryEncoder<LiteralOperand> for LiteralOperand
impl BinaryEncoder<MdnsDiscoveryConfiguration> for MdnsDiscoveryConfiguration
impl BinaryEncoder<MethodAttributes> for MethodAttributes
impl BinaryEncoder<ModelChangeStructureDataType> for ModelChangeStructureDataType
impl BinaryEncoder<ModifyMonitoredItemsRequest> for ModifyMonitoredItemsRequest
impl BinaryEncoder<ModifyMonitoredItemsResponse> for ModifyMonitoredItemsResponse
impl BinaryEncoder<ModifySubscriptionRequest> for ModifySubscriptionRequest
impl BinaryEncoder<ModifySubscriptionResponse> for ModifySubscriptionResponse
impl BinaryEncoder<MonitoredItemCreateRequest> for MonitoredItemCreateRequest
impl BinaryEncoder<MonitoredItemCreateResult> for MonitoredItemCreateResult
impl BinaryEncoder<MonitoredItemModifyRequest> for MonitoredItemModifyRequest
impl BinaryEncoder<MonitoredItemModifyResult> for MonitoredItemModifyResult
impl BinaryEncoder<MonitoredItemNotification> for MonitoredItemNotification
impl BinaryEncoder<MonitoringFilter> for MonitoringFilter
impl BinaryEncoder<MonitoringFilterResult> for MonitoringFilterResult
impl BinaryEncoder<MonitoringParameters> for MonitoringParameters
impl BinaryEncoder<NetworkGroupDataType> for NetworkGroupDataType
impl BinaryEncoder<NodeAttributes> for NodeAttributes
impl BinaryEncoder<NodeReference> for NodeReference
impl BinaryEncoder<NodeTypeDescription> for NodeTypeDescription
impl BinaryEncoder<NotificationData> for NotificationData
impl BinaryEncoder<NotificationMessage> for NotificationMessage
impl BinaryEncoder<ObjectAttributes> for ObjectAttributes
impl BinaryEncoder<ObjectTypeAttributes> for ObjectTypeAttributes
impl BinaryEncoder<OpenSecureChannelRequest> for OpenSecureChannelRequest
impl BinaryEncoder<OpenSecureChannelResponse> for OpenSecureChannelResponse
impl BinaryEncoder<OptionSet> for OptionSet
impl BinaryEncoder<ParsingResult> for ParsingResult
impl BinaryEncoder<ProgramDiagnosticDataType> for ProgramDiagnosticDataType
impl BinaryEncoder<PublishRequest> for PublishRequest
impl BinaryEncoder<PublishResponse> for PublishResponse
impl BinaryEncoder<QueryDataDescription> for QueryDataDescription
impl BinaryEncoder<QueryDataSet> for QueryDataSet
impl BinaryEncoder<QueryFirstRequest> for QueryFirstRequest
impl BinaryEncoder<QueryFirstResponse> for QueryFirstResponse
impl BinaryEncoder<QueryNextRequest> for QueryNextRequest
impl BinaryEncoder<QueryNextResponse> for QueryNextResponse
impl BinaryEncoder<Range> for Range
impl BinaryEncoder<ReadEventDetails> for ReadEventDetails
impl BinaryEncoder<ReadRawModifiedDetails> for ReadRawModifiedDetails
impl BinaryEncoder<ReadRequest> for ReadRequest
impl BinaryEncoder<ReadResponse> for ReadResponse
impl BinaryEncoder<ReadValueId> for ReadValueId
impl BinaryEncoder<ReferenceDescription> for ReferenceDescription
impl BinaryEncoder<ReferenceTypeAttributes> for ReferenceTypeAttributes
impl BinaryEncoder<RegisterNodesRequest> for RegisterNodesRequest
impl BinaryEncoder<RegisterNodesResponse> for RegisterNodesResponse
impl BinaryEncoder<RegisterServerRequest> for RegisterServerRequest
impl BinaryEncoder<RegisterServerResponse> for RegisterServerResponse
impl BinaryEncoder<RegisteredServer> for RegisteredServer
impl BinaryEncoder<RelativePath> for RelativePath
impl BinaryEncoder<RelativePathElement> for RelativePathElement
impl BinaryEncoder<RepublishRequest> for RepublishRequest
impl BinaryEncoder<RepublishResponse> for RepublishResponse
impl BinaryEncoder<RequestHeader> for RequestHeader
impl BinaryEncoder<ResponseHeader> for ResponseHeader
impl BinaryEncoder<SamplingIntervalDiagnosticsDataType> for SamplingIntervalDiagnosticsDataType
impl BinaryEncoder<ServerDiagnosticsSummaryDataType> for ServerDiagnosticsSummaryDataType
impl BinaryEncoder<ServerOnNetwork> for ServerOnNetwork
impl BinaryEncoder<ServiceCounterDataType> for ServiceCounterDataType
impl BinaryEncoder<ServiceFault> for ServiceFault
impl BinaryEncoder<SessionDiagnosticsDataType> for SessionDiagnosticsDataType
impl BinaryEncoder<SessionSecurityDiagnosticsDataType> for SessionSecurityDiagnosticsDataType
impl BinaryEncoder<SetMonitoringModeRequest> for SetMonitoringModeRequest
impl BinaryEncoder<SetMonitoringModeResponse> for SetMonitoringModeResponse
impl BinaryEncoder<SetPublishingModeRequest> for SetPublishingModeRequest
impl BinaryEncoder<SetPublishingModeResponse> for SetPublishingModeResponse
impl BinaryEncoder<SetTriggeringRequest> for SetTriggeringRequest
impl BinaryEncoder<SetTriggeringResponse> for SetTriggeringResponse
impl BinaryEncoder<SignatureData> for SignatureData
impl BinaryEncoder<SignedSoftwareCertificate> for SignedSoftwareCertificate
impl BinaryEncoder<SimpleAttributeOperand> for SimpleAttributeOperand
impl BinaryEncoder<StatusChangeNotification> for StatusChangeNotification
impl BinaryEncoder<StatusResult> for StatusResult
impl BinaryEncoder<SubscriptionAcknowledgement> for SubscriptionAcknowledgement
impl BinaryEncoder<SubscriptionDiagnosticsDataType> for SubscriptionDiagnosticsDataType
impl BinaryEncoder<TimeZoneDataType> for TimeZoneDataType
impl BinaryEncoder<TransferResult> for TransferResult
impl BinaryEncoder<TransferSubscriptionsRequest> for TransferSubscriptionsRequest
impl BinaryEncoder<TransferSubscriptionsResponse> for TransferSubscriptionsResponse
impl BinaryEncoder<TranslateBrowsePathsToNodeIdsRequest> for TranslateBrowsePathsToNodeIdsRequest
impl BinaryEncoder<TranslateBrowsePathsToNodeIdsResponse> for TranslateBrowsePathsToNodeIdsResponse
impl BinaryEncoder<TrustListDataType> for TrustListDataType
impl BinaryEncoder<UnregisterNodesRequest> for UnregisterNodesRequest
impl BinaryEncoder<UnregisterNodesResponse> for UnregisterNodesResponse
impl BinaryEncoder<UserIdentityToken> for UserIdentityToken
impl BinaryEncoder<UserNameIdentityToken> for UserNameIdentityToken
impl BinaryEncoder<UserTokenPolicy> for UserTokenPolicy
impl BinaryEncoder<VariableAttributes> for VariableAttributes
impl BinaryEncoder<VariableTypeAttributes> for VariableTypeAttributes
impl BinaryEncoder<ViewAttributes> for ViewAttributes
impl BinaryEncoder<ViewDescription> for ViewDescription
impl BinaryEncoder<WriteRequest> for WriteRequest
impl BinaryEncoder<WriteResponse> for WriteResponse
impl BinaryEncoder<WriteValue> for WriteValue
impl BinaryEncoder<X509IdentityToken> for X509IdentityToken
impl BinaryEncoder<XVType> for XVType
impl BinaryEncoder<StatusCode> for StatusCode
impl BinaryEncoder<AsymmetricSecurityHeader> for AsymmetricSecurityHeader
impl BinaryEncoder<ByteString> for ByteString
impl BinaryEncoder<DataValue> for DataValue
impl BinaryEncoder<DateTime> for DateTime
DateTime encoded as 64-bit signed int