| 6165 | |
| 6166 | |
| 6167 | ISC_STATUS rem_port::send_msg(P_DATA * data, PACKET* sendL) |
| 6168 | { |
| 6169 | /************************************** |
| 6170 | * |
| 6171 | * s e n d _ m s g |
| 6172 | * |
| 6173 | ************************************** |
| 6174 | * |
| 6175 | * Functional description |
| 6176 | * Handle a isc_send operation. |
| 6177 | * |
| 6178 | **************************************/ |
| 6179 | LocalStatus ls; |
| 6180 | CheckStatusWrapper status_vector(&ls); |
| 6181 | |
| 6182 | Rrq* requestL; |
| 6183 | getHandle(requestL, data->p_data_request); |
| 6184 | |
| 6185 | const USHORT number = data->p_data_message_number; |
| 6186 | requestL = REMOTE_find_request(requestL, data->p_data_incarnation); |
| 6187 | if (number > requestL->rrq_max_msg) |
| 6188 | { |
| 6189 | (Arg::Gds(isc_badmsgnum)).copyTo(&status_vector); |
| 6190 | return this->send_response(sendL, 0, 0, &status_vector, false); |
| 6191 | } |
| 6192 | RMessage* message = requestL->rrq_rpt[number].rrq_message; |
| 6193 | const rem_fmt* format = requestL->rrq_rpt[number].rrq_format; |
| 6194 | |
| 6195 | requestL->rrq_iface->send(&status_vector, data->p_data_incarnation, number, |
| 6196 | format->fmt_length, message->msg_address); |
| 6197 | |
| 6198 | message->msg_address = NULL; |
| 6199 | |
| 6200 | return this->send_response(sendL, 0, 0, &status_vector, false); |
| 6201 | } |
| 6202 | |
| 6203 | |
| 6204 | ISC_STATUS rem_port::send_response(PACKET* p, OBJCT obj, ULONG length, const IStatus* status, bool defer_flag) |
no test coverage detected