rem: }
context: inline int internal_send_request( str *buf, struct peer *p){	struct trans *tr;	str s;	/* build a new outgoing transaction for this request */	if ((tr=create_transaction( 0, 0, peer_trans_timeout_f))==0) {		LOG(L_ERR,"ERROR:internal_send_request: cannot create a new"			" transaction!\n");		goto error;	}	tr->info = p->conn_cnt;	tr->out_peer = p;	/* generate a new end-to-end id */	((unsigned int *)buf->s)[4] = p->endtoendID++;	/* link the transaction into the hash table ; use end-to-end-ID for	 * calculating the hash_code */	s.s = buf->s+(4*4);	s.len = END_TO_END_IDENTIFIER_SIZE;	tr->linker.hash_code = hash( &s, p->trans_table->hash_size );	add_cell_to_htable( p->trans_table, (struct h_link*)tr );	/* the hash label is used as hop-by-hop ID */	((unsigned int*)buf->s)[3] = tr->linker.label;	/* send the request */	if ( safe_write( p, buf->s, buf->len)==-1 ) {		LOG(L_ERR,"ERROR:internal_send_request: tcp_send_unsafe returned"			" error!\n");		goto error;	}	/* start the timeout timer */	add_to_timer_list( &(tr->timeout) , tr_timeout_timer ,		get_ticks()+TR_TIMEOUT_TIMEOUT );	return 1;error:	if (tr)		destroy_transaction(tr);	return -1;}