<본 게시글은 OMNET++SimualtionManual을 공부하면서 개인적으로 저장해놓은 글입니다>
Information About the Last Transmission
아래 함수들은 packet을 전송하는 동안 걸린 시간을 구하는 함수인 getDuration()과 수신이 시작되었는지를 알려주는 bool형태의 isReceptionStart() 함수다.
Identifying the Protocol
dynamic_cast 연산자를 사용하면 해당 메시지가 특정 프로토콜인지 판별이 가능하며 사용법은 아래와 같다.
Encapsulating Packets
encapsulation과 decapsulation에 관련된 함수는 다음과 같다.
encapsulate()를 통해 encapuslates된 packet은 해당 packet의 length를 포함한 packet이 된다. 가령, A packet에 B packet이 encapuslate 되었다면 A의 length는 A+B가 된다.
만일 encapsulate()를 두 번 할 경우, 에러가 발생하게 되며, 모듈에 의해 소유되지 않은 encapsulated packet 또한 에러가 발생한다.
반대로 decapsulation의 경우, encapsulate된 패킷의 길이를 제거한다.(zero length제외)
만일 결과값이 음수인 경우, 에러가 발생한다.
getEncapsulatedPacket() 함수는 encapsulated packet의 포인터를 반환하거나, 아무 packet도 encapsulate되지 않은 경우 nullptr을 반환한다.
다음은 위 함수들의 사용 예제이다.
다음은 payload를 구하는 방법이다.
'IT > OMNET++' 카테고리의 다른 글
[OMNET++] 시뮬레이션 도중 발생한 문제 (0) | 2020.04.21 |
---|---|
[OMNET++] Messages and Packets(2) (0) | 2020.04.06 |
[OMNET++] Messages and Packets(1) (0) | 2020.04.04 |