• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++ set_t函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C++中set_t函数的典型用法代码示例。如果您正苦于以下问题:C++ set_t函数的具体用法?C++ set_t怎么用?C++ set_t使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了set_t函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: faked_env

/*if msg is set -> it will fake the env. vars conforming with the msg; if NULL
 * the env. will be restore to original */
static inline void faked_env( struct cell *t,struct sip_msg *msg)
{
	static struct cell *backup_t;
	static struct usr_avp **backup_list;
	static struct socket_info* backup_si;
	static int backup_route_type;

	if (msg) {
		swap_route_type( backup_route_type, FAILURE_ROUTE);
		/* tm actions look in beginning whether transaction is
		 * set -- whether we are called from a reply-processing 
		 * or a timer process, we need to set current transaction;
		 * otherwise the actions would attempt to look the transaction
		 * up (unnecessary overhead, refcounting)
		 */
		/* backup */
		backup_t = get_t();
		/* fake transaction */
		set_t(t);
		/* make available the avp list from transaction */
		backup_list = set_avp_list( &t->user_avps );
		/* set default send address to the saved value */
		backup_si = bind_address;
		bind_address = t->uac[0].request.dst.send_sock;
	} else {
		/* restore original environment */
		set_t(backup_t);
		set_route_type( backup_route_type );
		/* restore original avp list */
		set_avp_list( backup_list );
		bind_address = backup_si;
	}
}
开发者ID:iamroger,项目名称:voip,代码行数:35,代码来源:t_reply.c


示例2: t_lookup_ident

int t_lookup_ident(struct cell ** trans, unsigned int hash_index, unsigned int label)
{
    struct cell* p_cell;

    if(hash_index >= TABLE_ENTRIES){
		LOG(L_ERR,"ERROR: t_lookup_ident: invalid hash_index=%u\n",hash_index);
		return -1;
    }

    LOCK_HASH(hash_index);

    /* all the transactions from the entry are compared */
    for ( p_cell = get_tm_table()->entrys[hash_index].first_cell;
	  p_cell; p_cell = p_cell->next_cell ) 
    {
		if(p_cell->label == label){
			REF_UNSAFE(p_cell);
    			UNLOCK_HASH(hash_index);
			set_t(p_cell);
			*trans=p_cell;
			DBG("DEBUG: t_lookup_ident: transaction found\n");
			return 1;
		}
    }
	
	UNLOCK_HASH(hash_index);
	set_t(0);
	*trans=p_cell;

	DBG("DEBUG: t_lookup_ident: transaction not found\n");
    
    return -1;
}
开发者ID:winer632,项目名称:openimscore-code,代码行数:33,代码来源:t_lookup.c


示例3: cond_t

static inline void cond_t(int cond)
{
    if (cond)
        set_t();
    else
        clr_t();
}
开发者ID:kleberwilliam,项目名称:virtuoso,代码行数:7,代码来源:op.c


示例4: Model

 ParamPolicy_3<P1, P2, P3>::ParamPolicy_3(const ParamPolicy_3 &rhs)
     : Model(rhs),
       prm1_(rhs.prm1_->clone()),
       prm2_(rhs.prm2_->clone()),
       prm3_(rhs.prm3_->clone()) {
   set_t();
 }
开发者ID:cran,项目名称:Boom,代码行数:7,代码来源:ParamPolicy_3.hpp


示例5: new_t

static inline int new_t(struct sip_msg *p_msg)
{
	struct cell *new_cell;

	/* for ACK-dlw-wise matching, we want From-tags */
	if (p_msg->REQ_METHOD==METHOD_INVITE && parse_from_header(p_msg)<0) {
			LOG(L_ERR, "ERROR: new_t: no valid From in INVITE\n");
			return E_BAD_REQ;
	}
	/* make sure uri will be parsed before cloning */
	if (parse_sip_msg_uri(p_msg)<0) {
		LOG(L_ERR, "ERROR: new_t: uri invalid\n");
		return E_BAD_REQ;
	}
			
	/* add new transaction */
	new_cell = build_cell( p_msg ) ;
	if  ( !new_cell ){
		LOG(L_ERR, "ERROR: new_t: out of mem:\n");
		return E_OUT_OF_MEM;
	} 

	insert_into_hash_table_unsafe( new_cell, p_msg->hash_index );
	set_t(new_cell);
	INIT_REF_UNSAFE(T);
	/* init pointers to headers needed to construct local
	   requests such as CANCEL/ACK
	*/
	init_new_t(new_cell, p_msg);
	return 1;
}
开发者ID:winer632,项目名称:openimscore-code,代码行数:31,代码来源:t_lookup.c


示例6: set_t

 ParamPolicy_1<P> & ParamPolicy_1<P>::operator=
 (const ParamPolicy_1 &rhs){
   if(&rhs != this){
     prm_ = rhs.prm_->clone();
     set_t();
   }
   return *this;
 }
开发者ID:MarkEdmondson1234,项目名称:Boom,代码行数:8,代码来源:ParamPolicy_1.hpp


示例7: prm1_

 ParamPolicy_4<P1, P2, P3, P4>::ParamPolicy_4()
   : prm1_(),
     prm2_(),
     prm3_(),
     prm4_()
   {
     set_t();
   }
开发者ID:Hkey1,项目名称:boom,代码行数:8,代码来源:ParamPolicy_4.hpp


示例8: Model

 ParamPolicy_4<P1, P2, P3, P4>::ParamPolicy_4(const ParamPolicy_4 &rhs)
   : Model(rhs),
     prm1_(rhs.prm1_->clone()),
     prm2_(rhs.prm2_->clone()),
     prm3_(rhs.prm3_->clone()),
     prm4_(rhs.prm4_->clone())
   {
     set_t();
   }
开发者ID:Hkey1,项目名称:boom,代码行数:9,代码来源:ParamPolicy_4.hpp


示例9: retransmission_handler

inline static void retransmission_handler( struct timer_link *retr_tl )
{
	struct retr_buf* r_buf ;
	enum lists id;

	r_buf = get_retr_timer_payload(retr_tl);
#ifdef EXTRA_DEBUG
	if (r_buf->my_T->damocles) {
		LM_ERR("transaction %p scheduled for deletion and"
			" called from RETR timer\n",r_buf->my_T);
		abort();
	}
#endif

	/* the transaction is already removed from RETRANSMISSION_LIST by timer*/
	/* re-transmission */
	if ( r_buf->activ_type==TYPE_LOCAL_CANCEL
		|| r_buf->activ_type==TYPE_REQUEST ) {
			LM_DBG("retransmission_handler : request resending"
				" (t=%p, %.9s ... )\n", r_buf->my_T, r_buf->buffer.s);
			set_t(r_buf->my_T);
			SEND_BUFFER( r_buf );
			/*if (SEND_BUFFER( r_buf )==-1) {
				reset_timer( &r_buf->fr_timer );
				fake_reply(r_buf->my_T, r_buf->branch, 503 );
				return;
			}*/
			set_t(T_UNDEFINED);
	} else {
			LM_DBG("retransmission_handler : reply resending "
				"(t=%p, %.9s ... )\n", r_buf->my_T, r_buf->buffer.s);
			set_t(r_buf->my_T);
			t_retransmit_reply(r_buf->my_T);
			set_t(T_UNDEFINED);
	}

	id = r_buf->retr_list;
	r_buf->retr_list = id < RT_T2 ? id + 1 : RT_T2;

	retr_tl->timer_list= NULL; /* set to NULL so that set_timer will work */
	set_timer( retr_tl, id < RT_T2 ? id + 1 : RT_T2, 0 );

	LM_DBG("retransmission_handler : done\n");
}
开发者ID:AndreiPlesa,项目名称:opensips,代码行数:44,代码来源:timer.c


示例10: crossings

int crossings(int x0, int y0, struct coef ray)
{
	int i, x3, y3, w3, n0;
	int d1, d2;
	double t, t1;
	
	n0 = 0;
	
	for (i = 0 ; i < num_points ; ++i) {
		x3 = coefs[i].b * ray.c - coefs[i].c * ray.b;
		y3 = -coefs[i].a * ray.c + coefs[i].c * ray.a;
		w3 = coefs[i].a * ray.b - coefs[i].b * ray.a;

		if (w3 == 0)
			continue;

		x3 /= w3;
		y3 /= w3;

		t = set_t(x0, y0, x0 + 1, y0, x3, y3);

		if (t < 0)
			continue;
		
		t1 = t;
		t = set_t(points[i].x, points[i].y, points[i+1].x, points[i+1].y, x3, y3);
			
		if (t <= 0 || t > 1)
			continue;

		if (t == 1) {
			d1 = ray.a * points[i].x + ray.b * points[i].y + ray.c;
			d2 = ray.a * points[i+2].x + ray.b * points[i+2].y + ray.c;
		
			if ((((d1 > 0) && (d2 > 0)) || ((d1 < 0) && (d2 < 0))))
				continue;
		}

		s[n0++] = t1;
	}

	return n0;
}
开发者ID:ipozgaj,项目名称:playground_sources,代码行数:43,代码来源:poly2.c


示例11: w_t_lookup_cancel

inline static int w_t_lookup_cancel(struct sip_msg* msg, char* str, char* str2)
{
	struct cell *ret;
	if (msg->REQ_METHOD==METHOD_CANCEL) {
		ret = t_lookupOriginalT( msg );
		DBG("lookup_original: t_lookupOriginalT returned: %p\n", ret);
		if (ret != T_NULL_CELL) {
			/* The cell is reffed by t_lookupOriginalT, but T is not set.
			So we must unref it before returning. */
			UNREF(ret);
			set_t(T_UNDEFINED);
			return 1;
		}
		set_t(T_UNDEFINED);
	} else {
		LOG(L_WARN, "WARNING: script error t_lookup_cancel() called for non-CANCEL request\n");
	}
	return -1;
}
开发者ID:Gaoithe,项目名称:openimscore_ims,代码行数:19,代码来源:tm.c


示例12: set_t

 ParamPolicy_3<P1, P2, P3> &ParamPolicy_3<P1, P2, P3>::operator=(
     const ParamPolicy_3 &rhs) {
   if (&rhs != this) {
     prm1_ = rhs.prm1_->clone();
     prm2_ = rhs.prm2_->clone();
     prm3_ = rhs.prm3_->clone();
     set_t();
   }
   return *this;
 }
开发者ID:cran,项目名称:Boom,代码行数:10,代码来源:ParamPolicy_3.hpp


示例13: helper_fcmp_gt_FT

void helper_fcmp_gt_FT(uint32_t t0, uint32_t t1)
{
    CPU_FloatU f0, f1;
    f0.l = t0;
    f1.l = t1;

    if (float32_compare(f0.f, f1.f, &env->fp_status) == 1)
	set_t();
    else
	clr_t();
}
开发者ID:Leecheolhee,项目名称:VSSIM,代码行数:11,代码来源:op_helper.c


示例14: helper_fcmp_gt_DT

void helper_fcmp_gt_DT(uint64_t t0, uint64_t t1)
{
    CPU_DoubleU d0, d1;
    d0.ll = t0;
    d1.ll = t1;

    if (float64_compare(d0.d, d1.d, &env->fp_status) == 1)
	set_t();
    else
	clr_t();
}
开发者ID:Leecheolhee,项目名称:VSSIM,代码行数:11,代码来源:op_helper.c


示例15: helper_fcmp_gt_DT

void helper_fcmp_gt_DT(CPUSH4State *env, float64 t0, float64 t1)
{
    int relation;

    set_float_exception_flags(0, &env->fp_status);
    relation = float64_compare(t0, t1, &env->fp_status);
    if (unlikely(relation == float_relation_unordered)) {
        update_fpscr(env, GETPC());
    } else if (relation == float_relation_greater) {
        set_t(env);
    } else {
        clr_t(env);
    }
}
开发者ID:Flyalay,项目名称:kernel-qemu-pci,代码行数:14,代码来源:op_helper.c


示例16: helper_fcmp_gt_FT

void helper_fcmp_gt_FT(float32 t0, float32 t1)
{
    int relation;

    set_float_exception_flags(0, &env->fp_status);
    relation = float32_compare(t0, t1, &env->fp_status);
    if (unlikely(relation == float_relation_unordered)) {
        update_fpscr(GETPC());
    } else if (relation == float_relation_greater) {
	set_t();
    } else {
	clr_t();
    }
}
开发者ID:B-Rich,项目名称:serialice,代码行数:14,代码来源:op_helper.c


示例17: propagator

void BDSimulator::step()
{
    last_reactions_.clear();

    {
        BDPropagator propagator(*model_, *world_, *rng(), dt(), last_reactions_);
        while (propagator())
        {
            ; // do nothing here
        }
    }

    set_t(t() + dt());
    num_steps_++;
}
开发者ID:kozo2,项目名称:ecell4,代码行数:15,代码来源:BDSimulator.cpp


示例18: t_unref

int t_unref( struct sip_msg* p_msg  )
{
	enum kill_reason kr;

	if (T==T_UNDEFINED)
		return -1;
	if (T!=T_NULL_CELL) {
		if (p_msg->first_line.type==SIP_REQUEST){
			kr=get_kr();
			if (kr==0 ||(p_msg->REQ_METHOD==METHOD_ACK && !(kr & REQ_RLSD)))
				t_release_transaction(T);
		}
		UNREF( T );
	}
	set_t(T_UNDEFINED);
	return 1;
}
开发者ID:rrb3942,项目名称:opensips,代码行数:17,代码来源:t_lookup.c


示例19: t_unref

int t_unref( struct sip_msg* p_msg  )
{
	enum kill_reason kr;

	if (T==T_UNDEFINED || T==T_NULL_CELL)
		return -1;
	if (p_msg->first_line.type==SIP_REQUEST){
		kr=get_kr();
		if (kr==0 
				||(p_msg->REQ_METHOD==METHOD_ACK && !(kr & REQ_RLSD))) {
			LOG(L_WARN, "WARNING: script writer didn't release transaction\n");
			t_release_transaction(T);
		}
	}
	UNREF( T );
	set_t(T_UNDEFINED);
	return 1;
}
开发者ID:winer632,项目名称:openimscore-code,代码行数:18,代码来源:t_lookup.c


示例20: t_check_trans

inline static int t_check_trans(struct sip_msg* msg)
{
	struct cell *trans;

	if (msg->REQ_METHOD==METHOD_CANCEL) {
		/* parse needed hdrs*/
		if (check_transaction_quadruple(msg)==0) {
			LM_ERR("too few headers\n");
			return 0; /*drop request!*/
		}
		if (!msg->hash_index)
			msg->hash_index = tm_hash(msg->callid->body,get_cseq(msg)->number);
		/* performe lookup */
		trans = t_lookupOriginalT(  msg );
		return trans?1:-1;
	} else {
		trans = get_t();
		if (trans==NULL)
			return -1;
		if (trans!=T_UNDEFINED)
			return 1;
		switch ( t_lookup_request( msg , 0) ) {
			case 1:
				/* transaction found -> is it local ACK? */
				if (msg->REQ_METHOD==METHOD_ACK)
					return 1;
				/* .... else -> retransmission */
				trans = get_t();
				t_retransmit_reply(trans);
				UNREF(trans);
				set_t(0);
				return 0;
			case -2:
				/* e2e ACK found */
				return 1;
			default:
				/* notfound */
				return -1;
		}
	}
}
开发者ID:Deni90,项目名称:opensips,代码行数:41,代码来源:tm.c



注:本文中的set_t函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ set_target函数代码示例发布时间:2022-05-30
下一篇:
C++ set_sysinfo_in_ram函数代码示例发布时间:2022-05-30
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap