| 36 | } |
| 37 | |
| 38 | void AfdxFrame::write(AbstractFile & os) { |
| 39 | /* pre processing */ |
| 40 | payLoadLength = static_cast<uint16_t>(payLoad.size()); |
| 41 | |
| 42 | ObjectHeader::write(os); |
| 43 | os.write(reinterpret_cast<char *>(sourceAddress.data()), static_cast<std::streamsize>(sourceAddress.size())); |
| 44 | os.write(reinterpret_cast<char *>(&channel), sizeof(channel)); |
| 45 | os.write(reinterpret_cast<char *>(destinationAddress.data()), static_cast<std::streamsize>(destinationAddress.size())); |
| 46 | os.write(reinterpret_cast<char *>(&dir), sizeof(dir)); |
| 47 | os.write(reinterpret_cast<char *>(&type), sizeof(type)); |
| 48 | os.write(reinterpret_cast<char *>(&tpid), sizeof(tpid)); |
| 49 | os.write(reinterpret_cast<char *>(&tci), sizeof(tci)); |
| 50 | os.write(reinterpret_cast<char *>(ðChannel), sizeof(ethChannel)); |
| 51 | os.write(reinterpret_cast<char *>(&reservedAfdxFrame1), sizeof(reservedAfdxFrame1)); |
| 52 | os.write(reinterpret_cast<char *>(&afdxFlags), sizeof(afdxFlags)); |
| 53 | os.write(reinterpret_cast<char *>(&reservedAfdxFrame2), sizeof(reservedAfdxFrame2)); |
| 54 | os.write(reinterpret_cast<char *>(&bagUsec), sizeof(bagUsec)); |
| 55 | os.write(reinterpret_cast<char *>(&payLoadLength), sizeof(payLoadLength)); |
| 56 | os.write(reinterpret_cast<char *>(&reservedAfdxFrame3), sizeof(reservedAfdxFrame3)); |
| 57 | os.write(reinterpret_cast<char *>(&reservedAfdxFrame4), sizeof(reservedAfdxFrame4)); |
| 58 | os.write(reinterpret_cast<char *>(payLoad.data()), payLoadLength); |
| 59 | |
| 60 | /* skip padding */ |
| 61 | os.skipp(objectSize % 4); |
| 62 | } |
| 63 | |
| 64 | uint32_t AfdxFrame::calculateObjectSize() const { |
| 65 | return |