Sequence Chart Studio  svn HEAD revision
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Member Functions | Private Member Functions | Private Attributes | List of all members
AggregHandler Class Reference

#include <aggreg_handler.h>

Collaboration diagram for AggregHandler:
Collaboration graph

Public Member Functions

 AggregHandler (PcapSettings *p_settings)
 
 ~AggregHandler ()
 
std::vector< AggrMessageupdate_aggregation (int pckt_id, num_inst_pair src_pair, num_inst_pair dst_pair, AggregData flow_data, double time=0, std::string label="")
 
std::vector< AggrMessageflush_all ()
 

Private Member Functions

AggrMessage get_message_section (MessagePart part, std::map< MsgId, AggregStatisitcs >::iterator it)
 
AggrMessage get_send_event_info (MsgId m_id, int pckt_id, double time)
 
AggrMessage get_whole_message_info (MsgId id, int pckt_id, double time, std::string label)
 
std::vector< std::map< MsgId,
AggregStatisitcs >::iterator > 
active_com_interrupt (MsgId packet, bool inherit)
 
std::vector< std::map< MsgId,
AggregStatisitcs >::iterator > 
interrupt_with_proto (u_short proto)
 
std::string get_label (std::map< MsgId, AggregStatisitcs >::iterator it)
 
void add_to_defer_msg (std::map< MsgId, AggregStatisitcs >::iterator it)
 

Private Attributes

PcapSettingspcap_settings
 
AggregSettingssettings
 
TimeAggregtime_aggreg
 
std::map< MsgId, AggregStatisitcsactive_aggregations
 
std::vector< AggrMessagedefer_msg
 

Detailed Description

AggregHandler provides all needed functionality to do reassembling or abstract aggregations

Definition at line 32 of file aggreg_handler.h.

Constructor & Destructor Documentation

AggregHandler::AggregHandler ( PcapSettings p_settings)
AggregHandler::~AggregHandler ( )

Destructor

Definition at line 30 of file aggreg_handler.cpp.

References time_aggreg.

Member Function Documentation

std::vector< std::map< MsgId, AggregStatisitcs >::iterator > AggregHandler::active_com_interrupt ( MsgId  packet,
bool  inherit 
)
private

Return vector of active aggregation channels, which the given packet interrupt. (Almost continuous channel specific communication)

Parameters
inherit= is comunication also interrputed, if packet is in the same communication canal as communication? (fot the case of SIP protocol, when RTP is running on the same ports, however the communication is interrupted with SIP)

Definition at line 122 of file aggreg_handler.cpp.

References active_aggregations, MsgId::data, MsgId::destin_pair, result, and MsgId::source_pair.

Referenced by update_aggregation().

void AggregHandler::add_to_defer_msg ( std::map< MsgId, AggregStatisitcs >::iterator  it)
private

Create AggregMessge according to statistic data about aggregation and add it to defer message

Definition at line 84 of file aggreg_handler.cpp.

References defer_msg, get_message_section(), MESSAGE_BEGIN, MESSAGE_END, and WHOLE_MESSAGE.

Referenced by flush_all(), and update_aggregation().

std::vector< AggrMessage > AggregHandler::flush_all ( )

Sort and flush all messages from AggregHander, not provided pcapHandler and not added to BMSC yet

Definition at line 167 of file aggreg_handler.cpp.

References active_aggregations, add_to_defer_msg(), defer_msg, get_message_section(), MESSAGE_END, SEP_AGGR, settings, and AggregSettings::type.

Referenced by PcapHandler::last_diagram_update().

std::string AggregHandler::get_label ( std::map< MsgId, AggregStatisitcs >::iterator  it)
private
AggrMessage AggregHandler::get_message_section ( MessagePart  part,
std::map< MsgId, AggregStatisitcs >::iterator  it 
)
private

According to MessagePart return AggrMessage to put in BMSC

Definition at line 97 of file aggreg_handler.cpp.

References get_label(), MESSAGE_BEGIN, MESSAGE_END, result, and WHOLE_MESSAGE.

Referenced by add_to_defer_msg(), flush_all(), and update_aggregation().

AggrMessage AggregHandler::get_send_event_info ( MsgId  m_id,
int  pckt_id,
double  time 
)
private

Returns information needed to put the message's send event to correct place in BMSC

Definition at line 35 of file aggreg_handler.cpp.

References MESSAGE_BEGIN.

Referenced by update_aggregation().

AggrMessage AggregHandler::get_whole_message_info ( MsgId  id,
int  pckt_id,
double  time,
std::string  label 
)
private

Return information to add one packet message in BMSC

Definition at line 42 of file aggreg_handler.cpp.

References WHOLE_MESSAGE.

Referenced by update_aggregation().

std::vector< std::map< MsgId, AggregStatisitcs >::iterator > AggregHandler::interrupt_with_proto ( u_short  proto)
private

Return vector of the continuous communication being interrupted with specific given proto

Definition at line 153 of file aggreg_handler.cpp.

References active_aggregations, and result.

Referenced by update_aggregation().

std::vector< AggrMessage > AggregHandler::update_aggregation ( int  pckt_id,
num_inst_pair  src_pair,
num_inst_pair  dst_pair,
AggregData  flow_data,
double  time = 0,
std::string  label = "" 
)

Member Data Documentation

std::map<MsgId,AggregStatisitcs> AggregHandler::active_aggregations
private
std::vector<AggrMessage> AggregHandler::defer_msg
private

Definition at line 41 of file aggreg_handler.h.

Referenced by add_to_defer_msg(), flush_all(), and update_aggregation().

PcapSettings* AggregHandler::pcap_settings
private

Definition at line 35 of file aggreg_handler.h.

Referenced by AggregHandler(), and get_label().

AggregSettings* AggregHandler::settings
private

Definition at line 36 of file aggreg_handler.h.

Referenced by AggregHandler(), flush_all(), get_label(), and update_aggregation().

TimeAggreg* AggregHandler::time_aggreg
private

Definition at line 38 of file aggreg_handler.h.

Referenced by AggregHandler(), update_aggregation(), and ~AggregHandler().


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

SourceForge.net Logo
Generated on Fri Jan 15 2016 16:26:57 for Sequence Chart Studio by  doxygen