Lines Matching defs:rcvd
2913 check_freshness(coap_session_t *session, coap_pdu_t *rcvd, coap_pdu_t *sent,
2917 coap_opt_t *opt = coap_check_option(rcvd, COAP_OPTION_ECHO, &opt_iter);
2996 track_echo(coap_session_t *session, coap_pdu_t *rcvd) {
2998 coap_opt_t *opt = coap_check_option(rcvd, COAP_OPTION_ECHO, &opt_iter);
3023 coap_pdu_t *rcvd) {
3027 STATE_TOKEN_BASE(coap_decode_var_bytes8(rcvd->actual_token.s,
3028 rcvd->actual_token.length));
3044 if (COAP_RESPONSE_CLASS(rcvd->code) == 2 &&
3045 coap_get_block_b(session, rcvd, p->option, &block)) {
3077 track_echo(session, rcvd);
3164 } else if (rcvd->code == COAP_RESPONSE_CODE(401)) {
3165 if (check_freshness(session, rcvd, sent, p, NULL))
3168 } else if (rcvd->code == COAP_RESPONSE_CODE(402)) {
3170 if (coap_get_block_b(session, rcvd, COAP_OPTION_Q_BLOCK2, &block) ||
3171 coap_get_block_b(session, rcvd, COAP_OPTION_Q_BLOCK1, &block))
3173 } else if (rcvd->code == COAP_RESPONSE_CODE(408) &&
3178 coap_opt_t *fmt_opt = coap_check_option(rcvd,
3190 rcvd->type != COAP_MESSAGE_NON) {
3195 if (coap_get_data(rcvd, &length, &data)) {
3201 uint64_t token = coap_decode_var_bytes8(rcvd->actual_token.s,
3202 rcvd->actual_token.length);
3254 rcvd->code = COAP_RESPONSE_CODE(500);
3267 /* need to put back original token into rcvd */
3269 coap_update_token(rcvd, p->b.b1.app_token->length,
3272 coap_show_pdu(COAP_LOG_DEBUG, rcvd);
3338 coap_pdu_t *rcvd,
3350 STATE_TOKEN_BASE(coap_decode_var_bytes8(rcvd->actual_token.s,
3351 rcvd->actual_token.length));
3363 !coap_binary_equal(&rcvd->actual_token, p->app_token)) {
3370 if (COAP_RESPONSE_CLASS(rcvd->code) == 2) {
3373 coap_opt_t *size_opt = coap_check_option(rcvd, COAP_OPTION_SIZE2,
3380 (void)coap_get_data(rcvd, &length, &data);
3381 rcvd->body_offset = 0;
3382 rcvd->body_total = length;
3383 if (coap_get_block_b(session, rcvd, COAP_OPTION_BLOCK2, &block)) {
3388 if (coap_get_block_b(session, rcvd, COAP_OPTION_Q_BLOCK2, &qblock)) {
3401 track_echo(session, rcvd);
3403 coap_opt_t *fmt_opt = coap_check_option(rcvd,
3410 coap_opt_t *etag_opt = coap_check_option(rcvd,
3452 p->last_type = rcvd->type;
3519 coap_opt_t *obs_opt = coap_check_option(rcvd,
3605 rcvd->type != COAP_MESSAGE_NON)
3619 if (rcvd->type == COAP_MESSAGE_NON)
3637 /* need to put back original token into rcvd */
3638 coap_update_token(rcvd, p->app_token->length, p->app_token->s);
3639 rcvd->body_offset = saved_offset;
3641 rcvd->body_total = block_opt == COAP_OPTION_Q_BLOCK2 ?
3644 rcvd->body_total = size2;
3647 coap_show_pdu(COAP_LOG_DEBUG, rcvd);
3655 coap_remove_option(rcvd, block_opt);
3657 coap_update_option(rcvd, COAP_OPTION_OBSERVE,
3660 rcvd->body_data = p->body_data->s;
3662 rcvd->body_length = block_opt == COAP_OPTION_Q_BLOCK2 ?
3665 rcvd->body_length = saved_offset + length;
3667 rcvd->body_offset = 0;
3668 rcvd->body_total = rcvd->body_length;
3670 rcvd->body_offset = saved_offset;
3672 rcvd->body_total = block_opt == COAP_OPTION_Q_BLOCK2 ?
3675 rcvd->body_total = size2;
3679 /* need to put back original token into rcvd */
3680 if (!coap_binary_equal(&rcvd->actual_token, p->app_token)) {
3681 coap_update_token(rcvd, p->app_token->length, p->app_token->s);
3683 coap_show_pdu(COAP_LOG_DEBUG, rcvd);
3685 if (context->response_handler(session, sent, rcvd,
3686 rcvd->mid) == COAP_RESPONSE_FAIL)
3687 coap_send_rst(session, rcvd);
3689 coap_send_ack(session, rcvd);
3691 coap_send_ack(session, rcvd);
3710 coap_opt_t *obs_opt = coap_check_option(rcvd,
3719 if (!coap_binary_equal(&rcvd->actual_token, p->app_token)) {
3720 /* need to put back original token into rcvd */
3721 coap_update_token(rcvd, p->app_token->length, p->app_token->s);
3723 coap_show_pdu(COAP_LOG_DEBUG, rcvd);
3730 } else if (rcvd->code == COAP_RESPONSE_CODE(401)) {
3732 if (check_freshness(session, rcvd,
3736 if (check_freshness(session, rcvd, sent, NULL, p))
3751 /* need to put back original token into rcvd */
3752 if (!coap_binary_equal(&rcvd->actual_token, p->app_token)) {
3753 coap_update_token(rcvd, p->app_token->length, p->app_token->s);
3755 coap_show_pdu(COAP_LOG_DEBUG, rcvd);
3763 if (coap_get_block_b(session, rcvd, COAP_OPTION_BLOCK2, &block)
3766 coap_get_block_b(session, rcvd, COAP_OPTION_Q_BLOCK2, &block)
3773 } else if (COAP_RESPONSE_CLASS(rcvd->code) == 2) {
3774 if (coap_get_block_b(session, rcvd, COAP_OPTION_BLOCK2, &block)) {
3789 coap_get_data(rcvd, &length, &data);
3790 rcvd->body_offset = block.num*chunk;
3791 rcvd->body_total = block.num*chunk + length + (block.m ? 1 : 0);
3796 else if (coap_get_block_b(session, rcvd, COAP_OPTION_Q_BLOCK2, &block)) {
3810 return coap_handle_response_get_block(context, session, sent, rcvd,
3814 track_echo(session, rcvd);
3815 } else if (rcvd->code == COAP_RESPONSE_CODE(401)) {
3820 return coap_handle_response_get_block(context, session, sent, rcvd,
3828 /* need to put back original token into rcvd */
3829 if (!coap_binary_equal(&rcvd->actual_token, p->app_token)) {
3830 coap_update_token(rcvd, p->app_token->length, p->app_token->s);
3832 coap_show_pdu(COAP_LOG_DEBUG, rcvd);
3843 coap_send_ack(session, rcvd);