TODO: refactoring CreateSendMsgHdr! for a while do not use TSockAddrPair here - CreateSendMsgHdr will cast const sockaddr_in6& toAddr to void* !!!
| 135 | //TODO: refactoring CreateSendMsgHdr! |
| 136 | //for a while do not use TSockAddrPair here - CreateSendMsgHdr will cast const sockaddr_in6& toAddr to void* !!! |
| 137 | static inline TMsgHdr CreateNl12SendMsgHdr(const sockaddr_in6& toAddr, const sockaddr_in6& fromAddr, const TIoVec& iov, ui8 tos, |
| 138 | void* ctrlBuffer, size_t bufferLen) { |
| 139 | #ifdef _win_ |
| 140 | Y_UNUSED(ctrlBuffer); |
| 141 | Y_UNUSED(bufferLen); |
| 142 | i64 winTos = tos; |
| 143 | //NOTE: We can't handle ip alias in windows |
| 144 | const TMsgHdr& hdr = CreateSendMsgHdr(toAddr, iov, &winTos); //there is no controll buffer in Windows, just write Tos |
| 145 | return hdr; |
| 146 | #else |
| 147 | //TODO: check, it may be expencive to zero buffer here |
| 148 | memset(ctrlBuffer, 0, bufferLen); |
| 149 | TMsgHdr hdr = CreateSendMsgHdr(toAddr, iov, ctrlBuffer); |
| 150 | if (ctrlBuffer && (AddSockAuxData(&hdr, tos, fromAddr, ctrlBuffer, bufferLen) == nullptr)) { |
| 151 | fprintf(stderr, "BUG! Can not attach controll buffer!\n"); |
| 152 | } |
| 153 | return hdr; |
| 154 | #endif |
| 155 | } |
| 156 | |
| 157 | /////////////////////////////////////////////////////////////////////////////// |
| 158 |
no test coverage detected