| 
    AgIsoStack++
    
   A control-function-focused implementation of the major ISOBUS and J1939 protocols 
   | 
 
An object for tracking fast packet session state. More...
#include <nmea2000_fast_packet_protocol.hpp>
Public Member Functions | |
| FastPacketProtocolSession (TransportProtocolSessionBase::Direction direction, std::unique_ptr< CANMessageData > data, std::uint32_t parameterGroupNumber, std::uint16_t totalMessageSize, std::uint8_t sequenceNumber, CANIdentifier::CANPriority priority, std::shared_ptr< ControlFunction > source, std::shared_ptr< ControlFunction > destination, TransmitCompleteCallback sessionCompleteCallback, void *parentPointer) | |
| The constructor for a session, for advanced use only. In most cases, you should use the CANNetworkManager::get_fast_packet_protocol().send_message() function to transmit messages.   | |
| std::uint8_t | get_message_length () const | 
| Get the total number of bytes that will be sent or received in this session.   | |
| std::uint32_t | get_total_bytes_transferred () const override | 
| Get the number of bytes that have been sent or received in this session.   | |
| bool | is_broadcast () const | 
| Get whether or not this session is a broadcast session (BAM)   | |
  Public Member Functions inherited from isobus::TransportProtocolSessionBase | |
| TransportProtocolSessionBase (TransportProtocolSessionBase::Direction direction, std::unique_ptr< CANMessageData > data, std::uint32_t parameterGroupNumber, std::uint32_t totalMessageSize, std::shared_ptr< ControlFunction > source, std::shared_ptr< ControlFunction > destination, TransmitCompleteCallback sessionCompleteCallback, void *parentPointer) | |
| The constructor for a session.   | |
| TransportProtocolSessionBase (TransportProtocolSessionBase &&other)=default | |
| The move constructor.   | |
| TransportProtocolSessionBase & | operator= (TransportProtocolSessionBase &&other)=default | 
| The move assignment operator.   | |
| virtual | ~TransportProtocolSessionBase ()=default | 
| The destructor for a session.  | |
| Direction | get_direction () const | 
| Get the direction of the session.   | |
| bool | operator== (const TransportProtocolSessionBase &obj) const | 
| A useful way to compare session objects to each other for equality,.   | |
| bool | matches (std::shared_ptr< ControlFunction > other_source, std::shared_ptr< ControlFunction > other_destination) const | 
| Checks if the source and destination control functions match the given control functions.   | |
| CANMessageData & | get_data () const | 
| Get the data buffer for the session.   | |
| std::uint32_t | get_message_length () const | 
| Get the total number of bytes that will be sent or received in this session.   | |
| float | get_percentage_bytes_transferred () const | 
| Get the percentage of bytes that have been sent or received in this session.   | |
| std::shared_ptr< ControlFunction > | get_source () const | 
| Get the control function that is sending the message.   | |
| std::shared_ptr< ControlFunction > | get_destination () const | 
| Get the control function that is receiving the message.   | |
| std::uint32_t | get_parameter_group_number () const | 
| Get the parameter group number of the message.   | |
Protected Member Functions | |
| std::uint8_t | get_last_packet_number () const | 
| Get the last packet number that was sent or received in this session.   | |
| std::uint8_t | get_number_of_remaining_packets () const | 
| Get the number of packets that remain to be sent or received in this session.   | |
| std::uint8_t | get_total_number_of_packets () const | 
| Get the total number of packets that will be sent or received in this session.   | |
| void | add_number_of_bytes_transferred (std::uint8_t bytes) | 
| Add number of bytes to the total number of bytes that have been sent or received in this session.   | |
  Protected Member Functions inherited from isobus::TransportProtocolSessionBase | |
| void | update_timestamp () | 
| Update the timestamp of the session.   | |
| std::uint32_t | get_time_since_last_update () const | 
| Get the time that has passed since the last update of the timestamp.   | |
| void | complete (bool success) const | 
| Complete the session.   | |
Private Attributes | |
| std::uint8_t | numberOfBytesTransferred = 0 | 
| The total number of bytes that have been processed in this session.   | |
| std::uint8_t | sequenceNumber | 
| The sequence number for this PGN.   | |
| CANIdentifier::CANPriority | priority | 
| The priority to encode in the IDs of the component CAN messages.   | |
Friends | |
| class | FastPacketProtocol | 
| Allows the TP manager full access.   | |
Additional Inherited Members | |
  Public Types inherited from isobus::TransportProtocolSessionBase | |
| enum class | Direction { Transmit , Receive } | 
| Enumerates the possible session directions.  More... | |
An object for tracking fast packet session state.
Definition at line 41 of file nmea2000_fast_packet_protocol.hpp.
| isobus::FastPacketProtocol::FastPacketProtocolSession::FastPacketProtocolSession | ( | TransportProtocolSessionBase::Direction | direction, | 
| std::unique_ptr< CANMessageData > | data, | ||
| std::uint32_t | parameterGroupNumber, | ||
| std::uint16_t | totalMessageSize, | ||
| std::uint8_t | sequenceNumber, | ||
| CANIdentifier::CANPriority | priority, | ||
| std::shared_ptr< ControlFunction > | source, | ||
| std::shared_ptr< ControlFunction > | destination, | ||
| TransmitCompleteCallback | sessionCompleteCallback, | ||
| void * | parentPointer ) | 
The constructor for a session, for advanced use only. In most cases, you should use the CANNetworkManager::get_fast_packet_protocol().send_message() function to transmit messages.
| [in] | direction | The direction of the session | 
| [in] | data | Data buffer (will be moved into the session) | 
| [in] | parameterGroupNumber | The PGN of the message | 
| [in] | totalMessageSize | The total size of the message in bytes | 
| [in] | sequenceNumber | The sequence number for this PGN | 
| [in] | priority | The priority to encode in the IDs of the component CAN messages | 
| [in] | source | The source control function | 
| [in] | destination | The destination control function | 
| [in] | sessionCompleteCallback | A callback for when the session completes | 
| [in] | parentPointer | A generic context object for the tx complete and chunk callbacks | 
Definition at line 26 of file nmea2000_fast_packet_protocol.cpp.
      
  | 
  protected | 
Add number of bytes to the total number of bytes that have been sent or received in this session.
| [in] | bytes | The number of bytes to add to the total | 
Definition at line 82 of file nmea2000_fast_packet_protocol.cpp.
      
  | 
  protected | 
Get the last packet number that was sent or received in this session.
Definition at line 58 of file nmea2000_fast_packet_protocol.cpp.
| std::uint8_t isobus::FastPacketProtocol::FastPacketProtocolSession::get_message_length | ( | ) | const | 
Get the total number of bytes that will be sent or received in this session.
Definition at line 42 of file nmea2000_fast_packet_protocol.cpp.
      
  | 
  protected | 
Get the number of packets that remain to be sent or received in this session.
Definition at line 72 of file nmea2000_fast_packet_protocol.cpp.
      
  | 
  overridevirtual | 
Get the number of bytes that have been sent or received in this session.
Implements isobus::TransportProtocolSessionBase.
Definition at line 53 of file nmea2000_fast_packet_protocol.cpp.
      
  | 
  protected | 
Get the total number of packets that will be sent or received in this session.
Definition at line 77 of file nmea2000_fast_packet_protocol.cpp.
| bool isobus::FastPacketProtocol::FastPacketProtocolSession::is_broadcast | ( | ) | const | 
Get whether or not this session is a broadcast session (BAM)
Definition at line 48 of file nmea2000_fast_packet_protocol.cpp.
      
  | 
  friend | 
Allows the TP manager full access.
Definition at line 81 of file nmea2000_fast_packet_protocol.hpp.
      
  | 
  private | 
The total number of bytes that have been processed in this session.
Definition at line 100 of file nmea2000_fast_packet_protocol.hpp.
      
  | 
  private | 
The priority to encode in the IDs of the component CAN messages.
Definition at line 102 of file nmea2000_fast_packet_protocol.hpp.
      
  | 
  private | 
The sequence number for this PGN.
Definition at line 101 of file nmea2000_fast_packet_protocol.hpp.