OpenDDS  Snapshot(2023/04/28-20:55)
Public Member Functions | List of all members
OpenDDS::RTPS::Sedp::SecurityWriter Class Reference
Inheritance diagram for OpenDDS::RTPS::Sedp::SecurityWriter:
Inheritance graph
[legend]
Collaboration diagram for OpenDDS::RTPS::Sedp::SecurityWriter:
Collaboration graph
[legend]

Public Member Functions

 SecurityWriter (const DCPS::GUID_t &pub_id, Sedp &sedp, ACE_INT64 seq_init=1)
 
virtual ~SecurityWriter ()
 
DDS::ReturnCode_t write_stateless_message (const DDS::Security::ParticipantStatelessMessage &msg, const DCPS::GUID_t &reader, DCPS::SequenceNumber &sequence)
 
DDS::ReturnCode_t write_volatile_message_secure (const DDS::Security::ParticipantVolatileMessageSecure &msg, const DCPS::GUID_t &reader, DCPS::SequenceNumber &sequence)
 
- Public Member Functions inherited from OpenDDS::RTPS::Sedp::Writer
 Writer (const DCPS::GUID_t &pub_id, Sedp &sedp, ACE_INT64 seq_init=1)
 
virtual ~Writer ()
 
bool assoc (const DCPS::AssociationData &subscription)
 
void transport_assoc_done (int flags, const DCPS::GUID_t &remote)
 
void data_delivered (const DCPS::DataSampleElement *)
 
void data_dropped (const DCPS::DataSampleElement *, bool by_transport)
 
void data_acked (const GUID_t &remote)
 
void control_delivered (const DCPS::Message_Block_Ptr &sample)
 
void control_dropped (const DCPS::Message_Block_Ptr &sample, bool dropped_by_transport)
 
void notify_publication_disconnected (const DCPS::ReaderIdSeq &)
 
void notify_publication_reconnected (const DCPS::ReaderIdSeq &)
 
void notify_publication_lost (const DCPS::ReaderIdSeq &)
 
void remove_associations (const DCPS::ReaderIdSeq &, bool)
 
void replay_durable_data_for (const DCPS::GUID_t &remote_sub_id)
 
void retrieve_inline_qos_data (InlineQosData &) const
 
const DCPS::SequenceNumberget_seq () const
 
DDS::ReturnCode_t write_parameter_list (const ParameterList &plist, const DCPS::GUID_t &reader, DCPS::SequenceNumber &sequence)
 
void end_historic_samples (const DCPS::GUID_t &reader)
 
void request_ack (const DCPS::GUID_t &reader)
 
void send_deferred_samples (const GUID_t &reader)
 
- Public Member Functions inherited from OpenDDS::DCPS::TransportSendListener
virtual ~TransportSendListener ()
 
virtual SendControlStatus send_control_customized (const DataLinkSet_rch &links, const DataSampleHeader &header, ACE_Message_Block *msg, void *extra)
 
virtual void transport_discovery_change ()
 
- Public Member Functions inherited from OpenDDS::DCPS::RcObject
virtual ~RcObject ()
 
virtual void _add_ref ()
 
virtual void _remove_ref ()
 
long ref_count () const
 
WeakObject_get_weak_object () const
 
- Public Member Functions inherited from OpenDDS::RTPS::Sedp::Endpoint
 Endpoint (const DCPS::GUID_t &repo_id, Sedp &sedp)
 
virtual ~Endpoint ()
 
bool check_transport_qos (const DCPS::TransportInst &)
 
DCPS::GUID_t get_guid () const
 
DDS::DomainId_t domain_id () const
 
CORBA::Long get_priority_value (const DCPS::AssociationData &) const
 
void set_crypto_handles (DDS::Security::ParticipantCryptoHandle p, DDS::Security::NativeCryptoHandle e=DDS::HANDLE_NIL)
 
DDS::Security::ParticipantCryptoHandle get_crypto_handle () const
 
DDS::Security::NativeCryptoHandle get_endpoint_crypto_handle () const
 
void shutting_down ()
 
OPENDDS_STRING get_instance_name (const DCPS::GUID_t &id) const
 
EntityId_t counterpart_entity_id () const
 
GUID_t make_counterpart_guid (const DCPS::GUID_t &remote_part) const
 
bool associated_with_counterpart (const DCPS::GUID_t &remote_part) const
 
bool pending_association_with_counterpart (const DCPS::GUID_t &remote_part) const
 
bool associated_with_counterpart_if_not_pending (const DCPS::GUID_t &remote_part) const
 
RcHandle< DCPS::BitSubscriberget_builtin_subscriber_proxy () const
 
- Public Member Functions inherited from OpenDDS::DCPS::TransportClient
void use_datalink (const GUID_t &remote_id, const DataLink_rch &link)
 
 TransportClient ()
 
virtual ~TransportClient ()
 
void enable_transport (bool reliable, bool durable)
 
void enable_transport_using_config (bool reliable, bool durable, const TransportConfig_rch &tc)
 
bool swap_bytes () const
 
bool cdr_encapsulation () const
 
const TransportLocatorSeqconnection_info () const
 
void populate_connection_info ()
 
bool is_reliable () const
 
bool associate (const AssociationData &peer, bool active)
 
void disassociate (const GUID_t &peerId)
 
void stop_associating ()
 
void stop_associating (const GUID_t *repos, CORBA::ULong length)
 
void send_final_acks ()
 
void transport_stop ()
 
void register_for_reader (const GUID_t &participant, const GUID_t &writerid, const GUID_t &readerid, const TransportLocatorSeq &locators, OpenDDS::DCPS::DiscoveryListener *listener)
 
void unregister_for_reader (const GUID_t &participant, const GUID_t &writerid, const GUID_t &readerid)
 
void register_for_writer (const GUID_t &participant, const GUID_t &readerid, const GUID_t &writerid, const TransportLocatorSeq &locators, DiscoveryListener *listener)
 
void unregister_for_writer (const GUID_t &participant, const GUID_t &readerid, const GUID_t &writerid)
 
void update_locators (const GUID_t &remote, const TransportLocatorSeq &locators)
 
WeakRcHandle< ICE::Endpointget_ice_endpoint ()
 
bool send_response (const GUID_t &peer, const DataSampleHeader &header, Message_Block_Ptr payload)
 
void send (SendStateDataSampleList send_list, ACE_UINT64 transaction_id=0)
 
SendControlStatus send_w_control (SendStateDataSampleList send_list, const DataSampleHeader &header, Message_Block_Ptr msg, const GUID_t &destination)
 
SendControlStatus send_control (const DataSampleHeader &header, Message_Block_Ptr msg)
 
SendControlStatus send_control_to (const DataSampleHeader &header, Message_Block_Ptr msg, const GUID_t &destination)
 
bool remove_sample (const DataSampleElement *sample)
 
bool remove_all_msgs ()
 
virtual void add_link (const DataLink_rch &link, const GUID_t &peer)
 
void terminate_send_if_suspended ()
 
bool associated_with (const GUID_t &remote) const
 
bool pending_association_with (const GUID_t &remote) const
 
GUID_t repo_id () const
 
void data_acked (const GUID_t &remote)
 
bool is_leading (const GUID_t &reader_id) const
 

Additional Inherited Members

- Public Types inherited from OpenDDS::DCPS::TransportClient
enum  { ASSOC_OK = 1, ASSOC_ACTIVE = 2 }
 
- Protected Member Functions inherited from OpenDDS::RTPS::Sedp::Writer
typedef OPENDDS_MAP (DCPS::SequenceNumber, DCPS::DataSampleElement *) PerReaderDeferredSamples
 
typedef OPENDDS_MAP (GUID_t, PerReaderDeferredSamples) DeferredSamples
 
void send_sample (DCPS::Message_Block_Ptr payload, size_t size, const DCPS::GUID_t &reader, DCPS::SequenceNumber &sequence, bool historic=false)
 
void send_sample_i (DCPS::DataSampleElement *el)
 
void set_header_fields (DCPS::DataSampleHeader &dsh, size_t size, const DCPS::GUID_t &reader, DCPS::SequenceNumber &sequence, bool historic_sample=false, DCPS::MessageId id=DCPS::SAMPLE_DATA)
 
void write_control_msg (DCPS::Message_Block_Ptr payload, size_t size, DCPS::MessageId id, DCPS::SequenceNumber seq=DCPS::SequenceNumber())
 
virtual bool deferrable () const
 
- Protected Member Functions inherited from OpenDDS::DCPS::TransportSendListener
 TransportSendListener ()
 
- Protected Member Functions inherited from OpenDDS::DCPS::RcObject
 RcObject ()
 
- Protected Member Functions inherited from OpenDDS::DCPS::TransportClient
void cdr_encapsulation (bool encap)
 
- Protected Attributes inherited from OpenDDS::RTPS::Sedp::Writer
DeferredSamples deferred_samples_
 
DCPS::SequenceNumber seq_
 
- Protected Attributes inherited from OpenDDS::RTPS::Sedp::Endpoint
DCPS::GUID_t repo_id_
 
Sedpsedp_
 
AtomicBool shutting_down_
 
DDS::Security::ParticipantCryptoHandle participant_crypto_handle_
 
DDS::Security::NativeCryptoHandle endpoint_crypto_handle_
 

Detailed Description

Definition at line 508 of file Sedp.h.

Constructor & Destructor Documentation

◆ SecurityWriter()

OpenDDS::RTPS::Sedp::SecurityWriter::SecurityWriter ( const DCPS::GUID_t pub_id,
Sedp sedp,
ACE_INT64  seq_init = 1 
)
inline

Definition at line 510 of file Sedp.h.

References OpenDDS::RTPS::Sedp::write_stateless_message().

511  : Writer(pub_id, sedp, seq_init)
512  {}
Writer(const DCPS::GUID_t &pub_id, Sedp &sedp, ACE_INT64 seq_init=1)
Definition: Sedp.cpp:3180

◆ ~SecurityWriter()

OpenDDS::RTPS::Sedp::SecurityWriter::~SecurityWriter ( )
virtual

Definition at line 3599 of file Sedp.cpp.

3600 {
3601 }

Member Function Documentation

◆ write_stateless_message()

DDS::ReturnCode_t OpenDDS::RTPS::Sedp::SecurityWriter::write_stateless_message ( const DDS::Security::ParticipantStatelessMessage msg,
const DCPS::GUID_t reader,
DCPS::SequenceNumber sequence 
)

Definition at line 3377 of file Sedp.cpp.

References ACE_Message_Block::cont(), OpenDDS::DCPS::FINAL, OpenDDS::DCPS::DataSampleHeader::get_max_serialized_size(), ACE_Message_Block::MB_DATA, OpenDDS::DCPS::move(), OpenDDS::DCPS::primitive_serialized_size_ulong(), DDS::RETCODE_ERROR, DDS::RETCODE_OK, OpenDDS::RTPS::Sedp::Writer::send_sample(), and OpenDDS::DCPS::serialized_size().

3380 {
3382 
3383  size_t size = 0;
3384  DCPS::primitive_serialized_size_ulong(sedp_encoding, size);
3385  DCPS::serialized_size(sedp_encoding, size, msg);
3386 
3387  DCPS::Message_Block_Ptr payload(
3388  new ACE_Message_Block(
3391  new ACE_Message_Block(size)));
3392  Serializer serializer(payload->cont(), sedp_encoding);
3393  DCPS::EncapsulationHeader encap;
3394  if (encap.from_encoding(sedp_encoding, DCPS::FINAL) &&
3395  serializer << encap && serializer << msg) {
3396  send_sample(move(payload), size, reader, sequence);
3397  } else {
3398  result = DDS::RETCODE_ERROR;
3399  }
3400 
3401  return result;
3402 }
OpenDDS_Dcps_Export void primitive_serialized_size_ulong(const Encoding &encoding, size_t &size, size_t count=1)
T::rv_reference move(T &p)
Definition: unique_ptr.h:141
void serialized_size(const Encoding &encoding, size_t &size, const SequenceNumber &)
static size_t get_max_serialized_size()
Similar to IDL compiler generated methods.
unique_ptr< ACE_Message_Block, Message_Block_Deleter > Message_Block_Ptr
const ReturnCode_t RETCODE_ERROR
const ReturnCode_t RETCODE_OK
void send_sample(DCPS::Message_Block_Ptr payload, size_t size, const DCPS::GUID_t &reader, DCPS::SequenceNumber &sequence, bool historic=false)
Definition: Sedp.cpp:3247

◆ write_volatile_message_secure()

DDS::ReturnCode_t OpenDDS::RTPS::Sedp::SecurityWriter::write_volatile_message_secure ( const DDS::Security::ParticipantVolatileMessageSecure msg,
const DCPS::GUID_t reader,
DCPS::SequenceNumber sequence 
)

Definition at line 3405 of file Sedp.cpp.

References ACE_Message_Block::cont(), OpenDDS::DCPS::FINAL, OpenDDS::DCPS::DataSampleHeader::get_max_serialized_size(), ACE_Message_Block::MB_DATA, OpenDDS::DCPS::move(), OpenDDS::DCPS::primitive_serialized_size_ulong(), DDS::RETCODE_ERROR, DDS::RETCODE_OK, OpenDDS::RTPS::Sedp::Writer::send_sample(), and OpenDDS::DCPS::serialized_size().

3408 {
3410 
3411  size_t size = 0;
3412  DCPS::primitive_serialized_size_ulong(sedp_encoding, size);
3413  DCPS::serialized_size(sedp_encoding, size, msg);
3414 
3415  DCPS::Message_Block_Ptr payload(
3416  new ACE_Message_Block(
3419  new ACE_Message_Block(size)));
3420  Serializer serializer(payload->cont(), sedp_encoding);
3421  DCPS::EncapsulationHeader encap;
3422  if (encap.from_encoding(sedp_encoding, DCPS::FINAL) &&
3423  serializer << encap && serializer << msg) {
3424  send_sample(move(payload), size, reader, sequence);
3425  } else {
3426  result = DDS::RETCODE_ERROR;
3427  }
3428 
3429  return result;
3430 }
OpenDDS_Dcps_Export void primitive_serialized_size_ulong(const Encoding &encoding, size_t &size, size_t count=1)
T::rv_reference move(T &p)
Definition: unique_ptr.h:141
void serialized_size(const Encoding &encoding, size_t &size, const SequenceNumber &)
static size_t get_max_serialized_size()
Similar to IDL compiler generated methods.
unique_ptr< ACE_Message_Block, Message_Block_Deleter > Message_Block_Ptr
const ReturnCode_t RETCODE_ERROR
const ReturnCode_t RETCODE_OK
void send_sample(DCPS::Message_Block_Ptr payload, size_t size, const DCPS::GUID_t &reader, DCPS::SequenceNumber &sequence, bool historic=false)
Definition: Sedp.cpp:3247

The documentation for this class was generated from the following files: