メイン Network Layer Protocol Implementation & Model Development どうやって 受け取る Data Packet から Transport Layer そして 送信する に MAC Layer | 投稿するにはまず登録を |
題名 | 投稿者 | 日時 |
---|---|---|
どうやって 受け取る Data Packet から Transport Layer そして 送信する に MAC Layer | khsan075 | 2017/4/27 2:30 |
Re: どうやって 受け取る Data Packet から Transport Layer そして 送信する に MAC Layer | hiro | 2017/4/27 9:56 |
» Re: どうやって 受け取る Data Packet から Transport Layer そして 送信する に MAC Layer | khsan075 | 2017/4/27 16:47 |
Re: どうやって 受け取る Data Packet から Transport Layer そして 送信する に MAC Layer | hiro | 2017/5/4 14:51 |
フラット表示 | 前のトピック | 次のトピック |
投稿者 | スレッド |
---|---|
khsan075 | 投稿日時: 2017/4/27 16:47 |
新米 登録日: 2017/4/11 居住地: 投稿: 2 |
Re: どうやって 受け取る Data Packet から Transport Layer そして 送信する に MAC Layer 答えをありがとう
自分のコードにどこにエラーがあるのか見つけました それはこのコードの下に示されている void NetworkKhaleelSendToMac(Node *node, Message *msg) { NodeAddress destAddr; TosType priority; clocktype delay; int outgoingInterface; UInt8 ttl; KhaleelData *khaleel; khaleel = (KhaleelData*)NetworkIpGetRoutingProtocol(node, ROUTING_PROTOCOL_KHALEEL); delay = (clocktype)(RANDOM_erand(khaleel->seed) * KHALEEL_JITTER); AppToUdpSend *info; info = (AppToUdpSend *)MESSAGE_ReturnInfo(msg); destAddr = GetIPv4Address(info->destAddr); priority = info->priority; outgoingInterface = info->outgoingInterface; ttl = info->ttl; KhaleelInfoField* infoPtr; infoPtr = (KhaleelInfoField*)MESSAGE_AddInfo(node, msg, sizeof(KhaleelInfoField), INFO_TYPE_KHALEELINFO); infoPtr = (KhaleelInfoField*)MESSAGE_ReturnInfo(msg, INFO_TYPE_KHALEELINFO); infoPtr->currentHop = 0; infoPtr->destaddr = destAddr; infoPtr->sourceaddr = khaleel->localAddress; infoPtr->seqNum = khaleel->seqNum; infoPtr->priority = priority; infoPtr->outgoingInterface = outgoingInterface; infoPtr->incomingInterface = NetworkIpGetInterfaceIndexFromAddress(node, khaleel->localAddress); infoPtr->ttl = ttl; khaleel->seqNum = (khaleel->seqNum + 1) % KHALEEL_MAX_SEQ_NUM; khaleel->DataPacketsSentasSource++; NetworkIpSendPacketOnInterfaceWithDelay(node, msg, CPU_INTERFACE, infoPtr->outgoingInterface, ANY_IP, delay); } この関数は、Transport layer からData PacketをMAC Layer に送信します放送用 問題はコマンドにあります : NetworkIpSendPacketOnInterfaceWithDelay(node, msg, CPU_INTERFACE, infoPtr->outgoingInterface, ANY_IP, delay); 私はなぜエラーが来るのか分からない 私がファイルmessage.cppに行くと、それが示している "Messages handed to the worker thread can't participate in the message recycling. As the partitionData->msgFreeList isn't locked". 私はあなたにこれに可能な解決策を提案するよう依頼する 私の悪い執筆には申し訳ありません ありがとうございました |
フラット表示 | 前のトピック | 次のトピック |