// TODO: what about writing encapsulate/decapsulate as separate lines? SB SimulationBeginEntry // mandatory first line of an eventlog file { v int version // OMNeT++ version, e.g. 0x401 (=1025) is release 4.1 rid string runId // identifies the simulation run b int keyframeBlockSize // the distance between keyframes in event numbers } SE SimulationEndEntry // optional last line of an eventlog file { e bool isError // specifies if the simulation terminated due to an error c int resultCode // the error code in case of an error, otherwise the normal result code m string message // human readable description } BU BubbleEntry // display a bubble message { id int moduleId // id of the module which printed the bubble message txt string text // displayed message text } MB ModuleMethodBeginEntry // beginning of a call to another module { sm int fromModuleId // id of the caller module tm int toModuleId // id of the module being called m string method // C++ method name } ME ModuleMethodEndEntry // end of a call to another module { } MC ModuleCreatedEntry // creating a module { id int moduleId // id of the new module c string moduleClassName // C++ class name of the module t string nedTypeName // fully qualified NED type name pid int parentModuleId -1 // id of the parent module n string fullName // full dotted hierarchical module name cm bool compoundModule false // whether module is a simple or compound module } MD ModuleDeletedEntry // deleting a module { id int moduleId // id of the module being deleted } GC GateCreatedEntry // gate created { m int moduleId // module in which the gate was created g int gateId // id of the new gate n string name // gate name i int index -1 // gate index if vector, -1 otherwise o bool isOutput // whether the gate is input or output } GD GateDeletedEntry // gate deleted { m int moduleId // module in which the gate was created g int gateId // id of the deleted gate } CC ConnectionCreatedEntry // creating a connection { sm int sourceModuleId // id of the source module identifying the connection sg int sourceGateId // id of the gate at the source module identifying the connection dm int destModuleId // id of the destination module dg int destGateId // id of the gate at the destination module // TODO: channel, channel attributes, etc } CD ConnectionDeletedEntry // deleting a connection { sm int sourceModuleId // id of the source module identifying the connection sg int sourceGateId // id of the gate at the source module identifying the connection } CS ConnectionDisplayStringChangedEntry // a connection display string change { sm int sourceModuleId // id of the source module identifying the connection sg int sourceGateId // id of the gate at the source module identifying the connection d string displayString // the new display string } MS ModuleDisplayStringChangedEntry // a module display string change { id int moduleId // id of the module d string displayString // the new display string } E EventEntry // an event that is processing a message { # eventnumber_t eventNumber // unique event number t simtime_t simulationTime // simulation time when the event occurred m int moduleId // id of the processing module ce eventnumber_t causeEventNumber // event number from which the message being processed was sent, or -1 if the message was sent from initialize msg long messageId // lifetime-unique id of the message being processed f string fingerprints NULL // current simulation fingerprints } KF KeyframeEntry { p int64_t previousKeyframeFileOffset // file offset of the previous keyframe entry c string consequenceLookaheadLimits // consequence lookahead data s string simulationStateEntries // simulation state data } abstract MessageEntry // base class for entries referring to a message { id long messageId // lifetime-unique id of the message tid long messageTreeId // id of the message inherited by dup eid long messageEncapsulationId // id of the message inherited by encapsulation etid long messageEncapsulationTreeId // id of the message inherited by both dup and encapsulation c string messageClassName // C++ class name of the message n string messageName // message name k short messageKind 0 // message kind p short messagePriority 0 // message priority l int64_t messageLength 0 // message length in bits er bool hasBitError false // true indicates that the message has bit errors d string detail NULL // detailed information of message content when recording message data is turned on pe eventnumber_t previousEventNumber // event number from which the message being cloned was sent, or -1 if the message was sent from initialize // TODO: and many other fields, including message contents } CE CancelEventEntry : MessageEntry // canceling an event caused by a self message { } BS BeginSendEntry : MessageEntry // beginning to send a message { } ES EndSendEntry // prediction of the arrival of a message { t simtime_t arrivalTime // when the message will arrive to its destination module is bool isReceptionStart false // true indicates the message arrives with the first bit } SD SendDirectEntry // sending a message directly to a destination gate { sm int senderModuleId // id of the source module from which the message is being sent dm int destModuleId // id of the destination module to which the message is being sent dg int destGateId // id of the gate at the destination module to which the message is being sent pd simtime_t propagationDelay 0 // propagation delay as the message is propagated through the connection td simtime_t transmissionDelay 0 // transmission duration as the whole message is sent from the source gate } SH SendHopEntry // sending a message through a connection identified by its source module and gate id { sm int senderModuleId // id of the source module from which the message is being sent sg int senderGateId // id of the gate at the source module from which the message is being sent pd simtime_t propagationDelay 0 // propagation delay as the message is propagated through the connection td simtime_t transmissionDelay 0 // transmission duration as the whole message is sent from the source gate del bool discard false // whether the channel has discarded the message } CM CreateMessageEntry : MessageEntry // creating a message { } CL CloneMessageEntry : MessageEntry // cloning a message either via the copy constructor or dup { cid long cloneId // lifetime-unique id of the clone } DM DeleteMessageEntry : MessageEntry // deleting a message { }