rem: */ assert(t->uas.response.dst.send_sock);
context: int t_retransmit_reply( struct cell *t ){	static char b[BUF_SIZE];	int len;	/* first check if we managed to resolve topmost Via -- if	   not yet, don't try to retransmit	*/	/* response.dst.send_sock is valid all the time now, as it's taken	   from original request -bogdan	if (!t->uas.response.dst.send_sock) {		LOG(L_WARN, "WARNING: t_retransmit_reply: "			"no resolved dst to retransmit\n");		return -1;	}	*/	assert(t->uas.response.dst.send_sock);	/* we need to lock the transaction as messages from	   upstream may change it continuously	*/	LOCK_REPLIES( t );	if (!t->uas.response.buffer) {		DBG("DBG: t_retransmit_reply: nothing to retransmit\n");		goto error;	}	len=t->uas.response.buffer_len;	if ( len==0 || len>BUF_SIZE )  {		DBG("DBG: t_retransmit_reply: "			"zero length or too big to retransmit: %d\n", len);		goto error;	}	memcpy( b, t->uas.response.buffer, len );	UNLOCK_REPLIES( t );	SEND_PR_BUFFER( & t->uas.response, b, len );	DBG("DEBUG: reply retransmitted. buf=%p: %.9s..., shmem=%p: %.9s\n", 		b, b, t->uas.response.buffer, t->uas.response.buffer );	return 1;error:	UNLOCK_REPLIES(t);	return -1;}