Hybrid ICN (hICN) plugin  v21.06-rc0-4-g18fa668
Public Member Functions | Protected Attributes | List of all members
transport::implementation::ProducerSocket Class Reference
Inheritance diagram for transport::implementation::ProducerSocket:
Inheritance graph
[legend]
Collaboration diagram for transport::implementation::ProducerSocket:
Collaboration graph
[legend]

Public Member Functions

 ProducerSocket (interface::ProducerSocket *producer, int protocol)
 
 ProducerSocket (interface::ProducerSocket *producer, int protocol, asio::io_service &io_service)
 
interface::ProducerSocketgetInterface ()
 
void setInterface (interface::ProducerSocket *producer_socket)
 
void connect () override
 
bool isRunning () override
 
virtual void asyncProduce (Name content_name, std::unique_ptr< utils::MemBuf > &&buffer, bool is_last, uint32_t offset, uint32_t **last_segment=nullptr)
 
virtual uint32_t produceStream (const Name &content_name, std::unique_ptr< utils::MemBuf > &&buffer, bool is_last=true, uint32_t start_offset=0)
 
virtual uint32_t produceStream (const Name &content_name, const uint8_t *buffer, size_t buffer_size, bool is_last=true, uint32_t start_offset=0)
 
virtual uint32_t produceDatagram (const Name &content_name, std::unique_ptr< utils::MemBuf > &&buffer)
 
virtual uint32_t produceDatagram (const Name &content_name, const uint8_t *buffer, size_t buffer_size)
 
void produce (ContentObject &content_object)
 
void registerPrefix (const Prefix &producer_namespace)
 
void stop ()
 
virtual int setSocketOption (int socket_option_key, uint32_t socket_option_value)
 
virtual int setSocketOption (int socket_option_key, std::nullptr_t socket_option_value)
 
virtual int setSocketOption (int socket_option_key, bool socket_option_value)
 
virtual int setSocketOption (int socket_option_key, Name *socket_option_value)
 
virtual int setSocketOption (int socket_option_key, interface::ProducerContentObjectCallback socket_option_value)
 
virtual int setSocketOption (int socket_option_key, interface::ProducerInterestCallback socket_option_value)
 
virtual int setSocketOption (int socket_option_key, interface::ProducerContentCallback socket_option_value)
 
virtual int setSocketOption (int socket_option_key, auth::CryptoHashType socket_option_value)
 
virtual int setSocketOption (int socket_option_key, core::NextSegmentCalculationStrategy socket_option_value)
 
virtual int setSocketOption (int socket_option_key, const std::shared_ptr< auth::Signer > &socket_option_value)
 
virtual int getSocketOption (int socket_option_key, uint32_t &socket_option_value)
 
virtual int getSocketOption (int socket_option_key, bool &socket_option_value)
 
virtual int getSocketOption (int socket_option_key, interface::ProducerContentObjectCallback **socket_option_value)
 
virtual int getSocketOption (int socket_option_key, interface::ProducerContentCallback **socket_option_value)
 
virtual int getSocketOption (int socket_option_key, interface::ProducerInterestCallback **socket_option_value)
 
virtual int getSocketOption (int socket_option_key, std::shared_ptr< core::Portal > &socket_option_value)
 
virtual int getSocketOption (int socket_option_key, auth::CryptoHashType &socket_option_value)
 
virtual int getSocketOption (int socket_option_key, core::NextSegmentCalculationStrategy &socket_option_value)
 
virtual int getSocketOption (int socket_option_key, std::shared_ptr< auth::Signer > &socket_option_value)
 
virtual int setSocketOption (int socket_option_key, const std::string &socket_option_value)
 
template<typename Lambda , typename arg2 >
int rescheduleOnIOServiceWithReference (int socket_option_key, arg2 &socket_option_value, Lambda lambda_func)
 
template<typename Lambda , typename arg2 >
int rescheduleOnIOService (int socket_option_key, arg2 socket_option_value, Lambda lambda_func)
 
- Public Member Functions inherited from transport::implementation::Socket
virtual asio::io_service & getIoService ()
 

Protected Attributes

interface::ProducerSocketproducer_interface_
 
asio::io_service io_service_
 
std::atomic< size_t > data_packet_size_
 
std::atomic< uint32_t > content_object_expiry_time_
 
utils::EventThread async_thread_
 
std::atomic< bool > making_manifest_
 
std::atomic< auth::CryptoHashType > hash_algorithm_
 
std::atomic< auth::CryptoSuite > crypto_suite_
 
utils::SpinLock signer_lock_
 
std::shared_ptr< auth::Signersigner_
 
core::NextSegmentCalculationStrategy suffix_strategy_
 
std::unique_ptr< protocol::ProductionProtocolproduction_protocol_
 
ProducerInterestCallback on_interest_input_
 
ProducerInterestCallback on_interest_dropped_input_buffer_
 
ProducerInterestCallback on_interest_inserted_input_buffer_
 
ProducerInterestCallback on_interest_satisfied_output_buffer_
 
ProducerInterestCallback on_interest_process_
 
ProducerContentObjectCallback on_new_segment_
 
ProducerContentObjectCallback on_content_object_to_sign_
 
ProducerContentObjectCallback on_content_object_in_output_buffer_
 
ProducerContentObjectCallback on_content_object_output_
 
ProducerContentObjectCallback on_content_object_evicted_from_output_buffer_
 
ProducerContentCallback on_content_produced_
 
- Protected Attributes inherited from transport::implementation::Socket
std::shared_ptr< core::Portalportal_
 
bool is_async_
 

Additional Inherited Members

- Protected Member Functions inherited from transport::implementation::Socket
 Socket (std::shared_ptr< core::Portal > &&portal)
 

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