您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ FSMDEBUG函数代码示例

51自学网 2021-06-01 20:43:25
  C++
这篇教程C++ FSMDEBUG函数代码示例写得很实用,希望能帮到您。

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

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

示例1: fsm_lowerup

/* * fsm_lowerup - The lower layer is up. */voidfsm_lowerup(fsm *f){  int oldState = f->state;  LWIP_UNUSED_ARG(oldState);  switch( f->state ) {    case LS_INITIAL:      f->state = LS_CLOSED;      break;    case LS_STARTING:      if( f->flags & OPT_SILENT ) {        f->state = LS_STOPPED;      } else {        /* Send an initial configure-request */        fsm_sconfreq(f, 0);        f->state = LS_REQSENT;      }    break;    default:      FSMDEBUG(LOG_INFO, ("%s: Up event in state %d (%s)!/n",          PROTO_NAME(f), f->state, ppperr_strerr[f->state]));  }  FSMDEBUG(LOG_INFO, ("%s: lowerup state %d (%s) -> %d (%s)/n",      PROTO_NAME(f), oldState, ppperr_strerr[oldState], f->state, ppperr_strerr[f->state]));}
开发者ID:0x00dec0de,项目名称:Rovnix,代码行数:33,


示例2: fsm_rtermreq

/* * fsm_rtermreq - Receive Terminate-Req. */static voidfsm_rtermreq(fsm *f, int id, u_char *p, int len){  LWIP_UNUSED_ARG(p);  FSMDEBUG(LOG_INFO, ("fsm_rtermreq(%s): Rcvd id %d state=%d (%s)/n",        PROTO_NAME(f), id, f->state, ppperr_strerr[f->state]));  switch (f->state) {    case LS_ACKRCVD:    case LS_ACKSENT:      f->state = LS_REQSENT;    /* Start over but keep trying */      break;    case LS_OPENED:      if (len > 0) {        FSMDEBUG(LOG_INFO, ("%s terminated by peer (%p)/n", PROTO_NAME(f), p));      } else {        FSMDEBUG(LOG_INFO, ("%s terminated by peer/n", PROTO_NAME(f)));      }      if (f->callbacks->down) {        (*f->callbacks->down)(f);  /* Inform upper layers */      }      f->retransmits = 0;      f->state = LS_STOPPING;      TIMEOUT(fsm_timeout, f, f->timeouttime);      break;  }  fsm_sdata(f, TERMACK, (u_char)id, NULL, 0);}
开发者ID:0x00dec0de,项目名称:Rovnix,代码行数:34,


示例3: fsm_timeout

/* * fsm_timeout - Timeout expired. */static voidfsm_timeout(void *arg){  fsm *f = (fsm *) arg;  switch (f->state) {    case LS_CLOSING:    case LS_STOPPING:      if( f->retransmits <= 0 ) {        FSMDEBUG(LOG_WARNING, ("%s: timeout sending Terminate-Request state=%d (%s)/n",             PROTO_NAME(f), f->state, ppperr_strerr[f->state]));        /*         * We've waited for an ack long enough.  Peer probably heard us.         */        f->state = (f->state == LS_CLOSING)? LS_CLOSED: LS_STOPPED;        if( f->callbacks->finished ) {          (*f->callbacks->finished)(f);        }      } else {        FSMDEBUG(LOG_WARNING, ("%s: timeout resending Terminate-Requests state=%d (%s)/n",             PROTO_NAME(f), f->state, ppperr_strerr[f->state]));        /* Send Terminate-Request */        fsm_sdata(f, TERMREQ, f->reqid = ++f->id,            (u_char *) f->term_reason, f->term_reason_len);        TIMEOUT(fsm_timeout, f, f->timeouttime);        --f->retransmits;      }      break;    case LS_REQSENT:    case LS_ACKRCVD:    case LS_ACKSENT:      if (f->retransmits <= 0) {        FSMDEBUG(LOG_WARNING, ("%s: timeout sending Config-Requests state=%d (%s)/n",         PROTO_NAME(f), f->state, ppperr_strerr[f->state]));        f->state = LS_STOPPED;        if( (f->flags & OPT_PASSIVE) == 0 && f->callbacks->finished ) {          (*f->callbacks->finished)(f);        }      } else {        FSMDEBUG(LOG_WARNING, ("%s: timeout resending Config-Request state=%d (%s)/n",         PROTO_NAME(f), f->state, ppperr_strerr[f->state]));        /* Retransmit the configure-request */        if (f->callbacks->retransmit) {          (*f->callbacks->retransmit)(f);        }        fsm_sconfreq(f, 1);    /* Re-send Configure-Request */        if( f->state == LS_ACKRCVD ) {          f->state = LS_REQSENT;        }      }      break;    default:      FSMDEBUG(LOG_INFO, ("%s: UNHANDLED timeout event in state %d (%s)!/n",          PROTO_NAME(f), f->state, ppperr_strerr[f->state]));  }}
开发者ID:0x00dec0de,项目名称:Rovnix,代码行数:61,


示例4: fsm_rconfnakrej

/* * fsm_rconfnakrej - Receive Configure-Nak or Configure-Reject. */static voidfsm_rconfnakrej(fsm *f, int code, int id, u_char *inp, int len){  int (*proc) (fsm *, u_char *, int);  int ret;  FSMDEBUG(LOG_INFO, ("fsm_rconfnakrej(%s): Rcvd id %d state=%d (%s)/n",        PROTO_NAME(f), id, f->state, ppperr_strerr[f->state]));  if (id != f->reqid || f->seen_ack) { /* Expected id? */    return;        /* Nope, toss... */  }  proc = (code == CONFNAK)? f->callbacks->nakci: f->callbacks->rejci;  if (!proc || !((ret = proc(f, inp, len)))) {    /* Nak/reject is bad - ignore it */    FSMDEBUG(LOG_INFO, ("%s: received bad %s (length %d)/n",          PROTO_NAME(f), (code==CONFNAK? "Nak": "reject"), len));    return;  }  f->seen_ack = 1;  switch (f->state) {    case LS_CLOSED:    case LS_STOPPED:      fsm_sdata(f, TERMACK, (u_char)id, NULL, 0);      break;        case LS_REQSENT:    case LS_ACKSENT:      /* They didn't agree to what we wanted - try another request */      UNTIMEOUT(fsm_timeout, f);  /* Cancel timeout */      if (ret < 0) {        f->state = LS_STOPPED;    /* kludge for stopping CCP */      } else {        fsm_sconfreq(f, 0);    /* Send Configure-Request */      }      break;        case LS_ACKRCVD:      /* Got a Nak/reject when we had already had an Ack?? oh well... */      UNTIMEOUT(fsm_timeout, f);  /* Cancel timeout */      fsm_sconfreq(f, 0);      f->state = LS_REQSENT;      break;        case LS_OPENED:      /* Go down and restart negotiation */      if (f->callbacks->down) {        (*f->callbacks->down)(f);  /* Inform upper layers */      }      fsm_sconfreq(f, 0);    /* Send initial Configure-Request */      f->state = LS_REQSENT;      break;  }}
开发者ID:0x00dec0de,项目名称:Rovnix,代码行数:58,


示例5: fsm_rconfack

/* * fsm_rconfack - Receive Configure-Ack. */static voidfsm_rconfack(fsm *f, int id, u_char *inp, int len){  FSMDEBUG(LOG_INFO, ("fsm_rconfack(%s): Rcvd id %d state=%d (%s)/n",        PROTO_NAME(f), id, f->state, ppperr_strerr[f->state]));    if (id != f->reqid || f->seen_ack) {   /* Expected id? */    return; /* Nope, toss... */  }  if( !(f->callbacks->ackci? (*f->callbacks->ackci)(f, inp, len): (len == 0)) ) {    /* Ack is bad - ignore it */    FSMDEBUG(LOG_INFO, ("%s: received bad Ack (length %d)/n",          PROTO_NAME(f), len));    return;  }  f->seen_ack = 1;    switch (f->state) {    case LS_CLOSED:    case LS_STOPPED:      fsm_sdata(f, TERMACK, (u_char)id, NULL, 0);      break;        case LS_REQSENT:      f->state = LS_ACKRCVD;      f->retransmits = f->maxconfreqtransmits;      break;        case LS_ACKRCVD:      /* Huh? an extra valid Ack? oh well... */      UNTIMEOUT(fsm_timeout, f);  /* Cancel timeout */      fsm_sconfreq(f, 0);      f->state = LS_REQSENT;      break;        case LS_ACKSENT:      UNTIMEOUT(fsm_timeout, f);  /* Cancel timeout */      f->state = LS_OPENED;      f->retransmits = f->maxconfreqtransmits;      if (f->callbacks->up) {        (*f->callbacks->up)(f);  /* Inform upper layers */      }      break;        case LS_OPENED:      /* Go down and restart negotiation */      if (f->callbacks->down) {        (*f->callbacks->down)(f);  /* Inform upper layers */      }      fsm_sconfreq(f, 0);    /* Send initial Configure-Request */      f->state = LS_REQSENT;      break;  }}
开发者ID:0x00dec0de,项目名称:Rovnix,代码行数:57,


示例6: fsm_rconfack

/* * fsm_rconfack - Receive Configure-Ack. */static voidfsm_rconfack(fsm *f, int id, u_char *inp, int len){    FSMDEBUG((LOG_INFO, "fsm_rconfack(%s): Rcvd id %d.",	      PROTO_NAME(f), id));    if (id != f->reqid || f->seen_ack)		/* Expected id? */	return;					/* Nope, toss... */    if( !(f->callbacks->ackci? (*f->callbacks->ackci)(f, inp, len):	  (len == 0)) ){	/* Ack is bad - ignore it */	log_packet(inp, len, "Received bad configure-ack: ", LOG_ERR);	FSMDEBUG((LOG_INFO, "%s: received bad Ack (length %d)",		  PROTO_NAME(f), len));	return;    }    f->seen_ack = 1;    switch (f->state) {    case CLOSED:    case STOPPED:	fsm_sdata(f, TERMACK, id, NULL, 0);	break;    case REQSENT:	f->state = ACKRCVD;	f->retransmits = f->maxconfreqtransmits;	break;    case ACKRCVD:	/* Huh? an extra valid Ack? oh well... */	UNTIMEOUT(fsm_timeout, f);	/* Cancel timeout */	fsm_sconfreq(f, 0);	f->state = REQSENT;	break;    case ACKSENT:	UNTIMEOUT(fsm_timeout, f);	/* Cancel timeout */	f->state = OPENED;	f->retransmits = f->maxconfreqtransmits;	if (f->callbacks->up)	    (*f->callbacks->up)(f);	/* Inform upper layers */	break;    case OPENED:	/* Go down and restart negotiation */	if (f->callbacks->down)	    (*f->callbacks->down)(f);	/* Inform upper layers */	fsm_sconfreq(f, 0);		/* Send initial Configure-Request */	f->state = REQSENT;	break;    }}
开发者ID:AhmadTux,项目名称:DragonFlyBSD,代码行数:56,


示例7: fsm_protreject

/* * fsm_protreject - Peer doesn't speak this protocol. * * Treat this as a catastrophic error (RXJ-). */void fsm_protreject(fsm *f) {    switch( f->state ){    case PPP_FSM_CLOSING:	UNTIMEOUT(fsm_timeout, f);	/* Cancel timeout */	/* fall through */	/* no break */    case PPP_FSM_CLOSED:	f->state = PPP_FSM_CLOSED;	if( f->callbacks->finished )	    (*f->callbacks->finished)(f);	break;    case PPP_FSM_STOPPING:    case PPP_FSM_REQSENT:    case PPP_FSM_ACKRCVD:    case PPP_FSM_ACKSENT:	UNTIMEOUT(fsm_timeout, f);	/* Cancel timeout */	/* fall through */	/* no break */    case PPP_FSM_STOPPED:	f->state = PPP_FSM_STOPPED;	if( f->callbacks->finished )	    (*f->callbacks->finished)(f);	break;    case PPP_FSM_OPENED:	terminate_layer(f, PPP_FSM_STOPPING);	break;    default:	FSMDEBUG(("%s: Protocol-reject event in state %d!",		  PROTO_NAME(f), f->state));	/* no break */    }}
开发者ID:MuesliReep,项目名称:STM-Nucleo-F746ZG-TCP-UDP-example,代码行数:40,


示例8: fsm_rtermack

/* * fsm_rtermack - Receive Terminate-Ack. */static voidfsm_rtermack(fsm *f){  FSMDEBUG((LOG_INFO, "fsm_rtermack(%s): state=%d (%s)/n",         PROTO_NAME(f), f->state, ppperr_strerr[f->state]));    switch (f->state) {    case LS_CLOSING:      UNTIMEOUT(fsm_timeout, f);      f->state = LS_CLOSED;      if( f->callbacks->finished ) {        (*f->callbacks->finished)(f);      }      break;    case LS_STOPPING:      UNTIMEOUT(fsm_timeout, f);      f->state = LS_STOPPED;      if( f->callbacks->finished ) {        (*f->callbacks->finished)(f);      }      break;        case LS_ACKRCVD:      f->state = LS_REQSENT;      break;        case LS_OPENED:      if (f->callbacks->down) {        (*f->callbacks->down)(f);  /* Inform upper layers */      }      fsm_sconfreq(f, 0);      break;  }}
开发者ID:hitubaldaniya,项目名称:lumweb,代码行数:38,


示例9: fsm_rtermack

/* * fsm_rtermack - Receive Terminate-Ack. */static voidfsm_rtermack(fsm *f){    FSMDEBUG((LOG_INFO, "fsm_rtermack(%s).", PROTO_NAME(f)));    switch (f->state) {    case CLOSING:	UNTIMEOUT(fsm_timeout, f);	f->state = CLOSED;	if( f->callbacks->finished )	    (*f->callbacks->finished)(f);	break;    case STOPPING:	UNTIMEOUT(fsm_timeout, f);	f->state = STOPPED;	if( f->callbacks->finished )	    (*f->callbacks->finished)(f);	break;    case ACKRCVD:	f->state = REQSENT;	break;    case OPENED:	if (f->callbacks->down)	    (*f->callbacks->down)(f);	/* Inform upper layers */	fsm_sconfreq(f, 0);	break;    }}
开发者ID:AhmadTux,项目名称:DragonFlyBSD,代码行数:33,


示例10: fsm_rtermreq

/* * fsm_rtermreq - Receive Terminate-Req. */static voidfsm_rtermreq(fsm *f, int id, u_char *p, int len){    char str[80];    FSMDEBUG((LOG_INFO, "fsm_rtermreq(%s): Rcvd id %d.",	      PROTO_NAME(f), id));    switch (f->state) {    case ACKRCVD:    case ACKSENT:	f->state = REQSENT;		/* Start over but keep trying */	break;    case OPENED:	if (len > 0) {	    fmtmsg(str, sizeof(str), "%0.*v", len, p);	    syslog(LOG_INFO, "%s terminated by peer (%s)", PROTO_NAME(f), str);	} else	    syslog(LOG_INFO, "%s terminated by peer", PROTO_NAME(f));	if (f->callbacks->down)	    (*f->callbacks->down)(f);	/* Inform upper layers */	f->retransmits = 0;	f->state = STOPPING;	TIMEOUT(fsm_timeout, f, f->timeouttime);	break;    }    fsm_sdata(f, TERMACK, id, NULL, 0);}
开发者ID:AhmadTux,项目名称:DragonFlyBSD,代码行数:33,


示例11: fsm_lowerdown

/* * fsm_lowerdown - The lower layer is down. * * Cancel all timeouts and inform upper layers. */voidfsm_lowerdown(fsm *f){  int oldState = f->state;  LWIP_UNUSED_ARG(oldState);  switch( f->state ) {    case LS_CLOSED:      f->state = LS_INITIAL;      break;    case LS_STOPPED:      f->state = LS_STARTING;      if( f->callbacks->starting ) {        (*f->callbacks->starting)(f);      }      break;    case LS_CLOSING:      f->state = LS_INITIAL;      UNTIMEOUT(fsm_timeout, f);  /* Cancel timeout */      break;    case LS_STOPPING:    case LS_REQSENT:    case LS_ACKRCVD:    case LS_ACKSENT:      f->state = LS_STARTING;      UNTIMEOUT(fsm_timeout, f);  /* Cancel timeout */      break;    case LS_OPENED:      if( f->callbacks->down ) {        (*f->callbacks->down)(f);      }      f->state = LS_STARTING;      break;    default:      FSMDEBUG(LOG_INFO, ("%s: Down event in state %d (%s)!/n",          PROTO_NAME(f), f->state, ppperr_strerr[f->state]));  }  FSMDEBUG(LOG_INFO, ("%s: lowerdown state %d (%s) -> %d (%s)/n",      PROTO_NAME(f), oldState, ppperr_strerr[oldState], f->state, ppperr_strerr[f->state]));}
开发者ID:0x00dec0de,项目名称:Rovnix,代码行数:52,


示例12: fsm_rcoderej

/* * fsm_rcoderej - Receive an Code-Reject. */static voidfsm_rcoderej(fsm *f, u_char *inp, int len){    u_char code, id;    FSMDEBUG((LOG_INFO, "fsm_rcoderej(%s).", PROTO_NAME(f)));    if (len < HEADERLEN) {	FSMDEBUG((LOG_INFO, "fsm_rcoderej: Rcvd short Code-Reject packet!"));	return;    }    GETCHAR(code, inp);    GETCHAR(id, inp);    syslog(LOG_WARNING, "%s: Rcvd Code-Reject for code %d, id %d",	   PROTO_NAME(f), code, id);    if( f->state == ACKRCVD )	f->state = REQSENT;}
开发者ID:AhmadTux,项目名称:DragonFlyBSD,代码行数:22,


示例13: fsm_rcoderej

/* * fsm_rcoderej - Receive an Code-Reject. */static voidfsm_rcoderej(fsm *f, u_char *inp, int len){  u_char code, id;    FSMDEBUG(LOG_INFO, ("fsm_rcoderej(%s): state=%d (%s)/n",         PROTO_NAME(f), f->state, ppperr_strerr[f->state]));    if (len < HEADERLEN) {    FSMDEBUG(LOG_INFO, ("fsm_rcoderej: Rcvd short Code-Reject packet!/n"));    return;  }  GETCHAR(code, inp);  GETCHAR(id, inp);  FSMDEBUG(LOG_WARNING, ("%s: Rcvd Code-Reject for code %d, id %d/n",        PROTO_NAME(f), code, id));    if( f->state == LS_ACKRCVD ) {    f->state = LS_REQSENT;  }}
开发者ID:0x00dec0de,项目名称:Rovnix,代码行数:24,


示例14: fsm_rcoderej

/* * fsm_rcoderej - Receive an Code-Reject. */static void fsm_rcoderej(fsm *f, u_char *inp, int len) {    u_char code, id;    if (len < HEADERLEN) {	FSMDEBUG(("fsm_rcoderej: Rcvd short Code-Reject packet!"));	return;    }    GETCHAR(code, inp);    GETCHAR(id, inp);    ppp_warn("%s: Rcvd Code-Reject for code %d, id %d", PROTO_NAME(f), code, id);    if( f->state == PPP_FSM_ACKRCVD )	f->state = PPP_FSM_REQSENT;}
开发者ID:MuesliReep,项目名称:STM-Nucleo-F746ZG-TCP-UDP-example,代码行数:17,


示例15: fsm_timeout

/* * fsm_timeout - Timeout expired. */static voidfsm_timeout(void *arg){    fsm *f = (fsm *) arg;    switch (f->state) {    case CLOSING:    case STOPPING:	if( f->retransmits <= 0 ){	    /*	     * We've waited for an ack long enough.  Peer probably heard us.	     */	    f->state = (f->state == CLOSING)? CLOSED: STOPPED;	    if( f->callbacks->finished )		(*f->callbacks->finished)(f);	} else {	    /* Send Terminate-Request */	    fsm_sdata(f, TERMREQ, f->reqid = ++f->id,		      (u_char *) f->term_reason, f->term_reason_len);	    TIMEOUT(fsm_timeout, f, f->timeouttime);	    --f->retransmits;	}	break;    case REQSENT:    case ACKRCVD:    case ACKSENT:	if (f->retransmits <= 0) {	    syslog(LOG_WARNING, "%s: timeout sending Config-Requests",		   PROTO_NAME(f));	    f->state = STOPPED;	    if( (f->flags & OPT_PASSIVE) == 0 && f->callbacks->finished )		(*f->callbacks->finished)(f);	} else {	    /* Retransmit the configure-request */	    if (f->callbacks->retransmit)		(*f->callbacks->retransmit)(f);	    fsm_sconfreq(f, 1);		/* Re-send Configure-Request */	    if( f->state == ACKRCVD )		f->state = REQSENT;	}	break;    default:	FSMDEBUG((LOG_INFO, "%s: Timeout event in state %d!",		  PROTO_NAME(f), f->state));    }}
开发者ID:AhmadTux,项目名称:DragonFlyBSD,代码行数:52,


示例16: fsm_sconfreq

/* * fsm_sconfreq - Send a Configure-Request. */static voidfsm_sconfreq(fsm *f, int retransmit){  u_char *outp;  int cilen;    if( f->state != LS_REQSENT && f->state != LS_ACKRCVD && f->state != LS_ACKSENT ) {    /* Not currently negotiating - reset options */    if( f->callbacks->resetci ) {      (*f->callbacks->resetci)(f);    }    f->nakloops = 0;  }    if( !retransmit ) {    /* New request - reset retransmission counter, use new ID */    f->retransmits = f->maxconfreqtransmits;    f->reqid = ++f->id;  }    f->seen_ack = 0;    /*   * Make up the request packet   */  outp = outpacket_buf[f->unit] + PPP_HDRLEN + HEADERLEN;  if( f->callbacks->cilen && f->callbacks->addci ) {    cilen = (*f->callbacks->cilen)(f);    if( cilen > peer_mru[f->unit] - (int)HEADERLEN ) {      cilen = peer_mru[f->unit] - HEADERLEN;    }    if (f->callbacks->addci) {      (*f->callbacks->addci)(f, outp, &cilen);    }  } else {    cilen = 0;  }  /* send the request to our peer */  fsm_sdata(f, CONFREQ, f->reqid, outp, cilen);    /* start the retransmit timer */  --f->retransmits;  TIMEOUT(fsm_timeout, f, f->timeouttime);    FSMDEBUG(LOG_INFO, ("%s: sending Configure-Request, id %d/n",        PROTO_NAME(f), f->reqid));}
开发者ID:0x00dec0de,项目名称:Rovnix,代码行数:51,


示例17: fsm_timeout

/* * fsm_timeout - Timeout expired. */static void fsm_timeout(void *arg) {    fsm *f = (fsm *) arg;    ppp_pcb *pcb = f->pcb;    switch (f->state) {    case PPP_FSM_CLOSING:    case PPP_FSM_STOPPING:	if( f->retransmits <= 0 ){	    /*	     * We've waited for an ack long enough.  Peer probably heard us.	     */	    f->state = (f->state == PPP_FSM_CLOSING)? PPP_FSM_CLOSED: PPP_FSM_STOPPED;	    if( f->callbacks->finished )		(*f->callbacks->finished)(f);	} else {	    /* Send Terminate-Request */	    fsm_sdata(f, TERMREQ, f->reqid = ++f->id,		      (const u_char *) f->term_reason, f->term_reason_len);	    TIMEOUT(fsm_timeout, f, pcb->settings.fsm_timeout_time);	    --f->retransmits;	}	break;    case PPP_FSM_REQSENT:    case PPP_FSM_ACKRCVD:    case PPP_FSM_ACKSENT:	if (f->retransmits <= 0) {	    ppp_warn("%s: timeout sending Config-Requests", PROTO_NAME(f));	    f->state = PPP_FSM_STOPPED;	    if( (f->flags & OPT_PASSIVE) == 0 && f->callbacks->finished )		(*f->callbacks->finished)(f);	} else {	    /* Retransmit the configure-request */	    if (f->callbacks->retransmit)		(*f->callbacks->retransmit)(f);	    fsm_sconfreq(f, 1);		/* Re-send Configure-Request */	    if( f->state == PPP_FSM_ACKRCVD )		f->state = PPP_FSM_REQSENT;	}	break;    default:	FSMDEBUG(("%s: Timeout event in state %d!", PROTO_NAME(f), f->state));	/* no break */    }}
开发者ID:MuesliReep,项目名称:STM-Nucleo-F746ZG-TCP-UDP-example,代码行数:50,


示例18: fsm_protreject

/* * fsm_protreject - Peer doesn't speak this protocol. * * Treat this as a catastrophic error (RXJ-). */voidfsm_protreject(fsm *f){  switch( f->state ) {    case LS_CLOSING:      UNTIMEOUT(fsm_timeout, f);  /* Cancel timeout */      /* fall through */    case LS_CLOSED:      f->state = LS_CLOSED;      if( f->callbacks->finished ) {        (*f->callbacks->finished)(f);      }      break;    case LS_STOPPING:    case LS_REQSENT:    case LS_ACKRCVD:    case LS_ACKSENT:      UNTIMEOUT(fsm_timeout, f);  /* Cancel timeout */      /* fall through */    case LS_STOPPED:      f->state = LS_STOPPED;      if( f->callbacks->finished ) {        (*f->callbacks->finished)(f);      }      break;        case LS_OPENED:      if( f->callbacks->down ) {        (*f->callbacks->down)(f);      }      /* Init restart counter, send Terminate-Request */      f->retransmits = f->maxtermtransmits;      fsm_sdata(f, TERMREQ, f->reqid = ++f->id,            (u_char *) f->term_reason, f->term_reason_len);      TIMEOUT(fsm_timeout, f, f->timeouttime);      --f->retransmits;      f->state = LS_STOPPING;      break;        default:      FSMDEBUG(LOG_INFO, ("%s: Protocol-reject event in state %d (%s)!/n",            PROTO_NAME(f), f->state, ppperr_strerr[f->state]));    }}
开发者ID:0x00dec0de,项目名称:Rovnix,代码行数:51,


示例19: fsm_close

/* * fsm_close - Start closing connection. * * Cancel timeouts and either initiate close or possibly go directly to * the LS_CLOSED state. */voidfsm_close(fsm *f, char *reason){  int oldState = f->state;  LWIP_UNUSED_ARG(oldState);  f->term_reason = reason;  f->term_reason_len = (reason == NULL ? 0 : (int)strlen(reason));  switch( f->state ) {    case LS_STARTING:      f->state = LS_INITIAL;      break;    case LS_STOPPED:      f->state = LS_CLOSED;      break;    case LS_STOPPING:      f->state = LS_CLOSING;      break;    case LS_REQSENT:    case LS_ACKRCVD:    case LS_ACKSENT:    case LS_OPENED:      if( f->state != LS_OPENED ) {        UNTIMEOUT(fsm_timeout, f);  /* Cancel timeout */      } else if( f->callbacks->down ) {        (*f->callbacks->down)(f);  /* Inform upper layers we're down */      }      /* Init restart counter, send Terminate-Request */      f->retransmits = f->maxtermtransmits;      fsm_sdata(f, TERMREQ, f->reqid = ++f->id,            (u_char *) f->term_reason, f->term_reason_len);      TIMEOUT(fsm_timeout, f, f->timeouttime);      --f->retransmits;      f->state = LS_CLOSING;      break;  }  FSMDEBUG(LOG_INFO, ("%s: close reason=%s state %d (%s) -> %d (%s)/n",      PROTO_NAME(f), reason, oldState, ppperr_strerr[oldState], f->state, ppperr_strerr[f->state]));}
开发者ID:0x00dec0de,项目名称:Rovnix,代码行数:49,


示例20: fsm_lowerup

/* * fsm_lowerup - The lower layer is up. */void fsm_lowerup(fsm *f) {    switch( f->state ){    case PPP_FSM_INITIAL:	f->state = PPP_FSM_CLOSED;	break;    case PPP_FSM_STARTING:	if( f->flags & OPT_SILENT )	    f->state = PPP_FSM_STOPPED;	else {	    /* Send an initial configure-request */	    fsm_sconfreq(f, 0);	    f->state = PPP_FSM_REQSENT;	}	break;    default:	FSMDEBUG(("%s: Up event in state %d!", PROTO_NAME(f), f->state));	/* no break */    }}
开发者ID:MuesliReep,项目名称:STM-Nucleo-F746ZG-TCP-UDP-example,代码行数:24,


示例21: fsm_open

/* * fsm_open - Link is allowed to come up. */voidfsm_open(fsm *f){  int oldState = f->state;  LWIP_UNUSED_ARG(oldState);  switch( f->state ) {    case LS_INITIAL:      f->state = LS_STARTING;      if( f->callbacks->starting ) {        (*f->callbacks->starting)(f);      }      break;    case LS_CLOSED:      if( f->flags & OPT_SILENT ) {        f->state = LS_STOPPED;      } else {        /* Send an initial configure-request */        fsm_sconfreq(f, 0);        f->state = LS_REQSENT;      }      break;      case LS_CLOSING:      f->state = LS_STOPPING;      /* fall through */    case LS_STOPPED:    case LS_OPENED:      if( f->flags & OPT_RESTART ) {        fsm_lowerdown(f);        fsm_lowerup(f);      }      break;  }  FSMDEBUG(LOG_INFO, ("%s: open state %d (%s) -> %d (%s)/n",      PROTO_NAME(f), oldState, ppperr_strerr[oldState], f->state, ppperr_strerr[f->state]));}
开发者ID:0x00dec0de,项目名称:Rovnix,代码行数:43,


示例22: fsm_sdata

/* * fsm_sdata - Send some data. * * Used for all packets sent to our peer by this module. */voidfsm_sdata(fsm *f, int code, int id, u_char *data, int datalen){    u_char *outp;    int outlen;    /* Adjust length to be smaller than MTU */    outp = outpacket_buf;    if (datalen > peer_mru[f->unit] - HEADERLEN)	datalen = peer_mru[f->unit] - HEADERLEN;    if (datalen && data != outp + PPP_HDRLEN + HEADERLEN)	BCOPY(data, outp + PPP_HDRLEN + HEADERLEN, datalen);    outlen = datalen + HEADERLEN;    MAKEHEADER(outp, f->protocol);    PUTCHAR(code, outp);    PUTCHAR(id, outp);    PUTSHORT(outlen, outp);    output(f->unit, outpacket_buf, outlen + PPP_HDRLEN);    FSMDEBUG((LOG_INFO, "fsm_sdata(%s): Sent code %d, id %d.",	      PROTO_NAME(f), code, id));}
开发者ID:AhmadTux,项目名称:DragonFlyBSD,代码行数:27,


示例23: fsm_lowerdown

/* * fsm_lowerdown - The lower layer is down. * * Cancel all timeouts and inform upper layers. */voidfsm_lowerdown(    fsm *f){    switch( f->state ){    case CLOSED:	f->state = INITIAL;	break;    case STOPPED:	f->state = STARTING;	if( f->callbacks->starting )	    (*f->callbacks->starting)(f);	break;    case CLOSING:	f->state = INITIAL;	UNTIMEOUT(fsm_timeout, f);	/* Cancel timeout */	break;    case STOPPING:    case REQSENT:    case ACKRCVD:    case ACKSENT:	f->state = STARTING;	UNTIMEOUT(fsm_timeout, f);	/* Cancel timeout */	break;    case OPENED:	if( f->callbacks->down )	    (*f->callbacks->down)(f);	f->state = STARTING;	break;    default:	FSMDEBUG(("%s: Down event in state %d!", PROTO_NAME(f), f->state));    }}
开发者ID:AoLaD,项目名称:rtems,代码行数:43,


示例24: fsm_sdata

/* * fsm_sdata - Send some data. * * Used for all packets sent to our peer by this module. */voidfsm_sdata( fsm *f, u_char code, u_char id, u_char *data, int datalen){  u_char *outp;  int outlen;  /* Adjust length to be smaller than MTU */  outp = outpacket_buf[f->unit];  if (datalen > peer_mru[f->unit] - (int)HEADERLEN) {    datalen = peer_mru[f->unit] - HEADERLEN;  }  if (datalen && data != outp + PPP_HDRLEN + HEADERLEN) {    BCOPY(data, outp + PPP_HDRLEN + HEADERLEN, datalen);  }  outlen = datalen + HEADERLEN;  MAKEHEADER(outp, f->protocol);  PUTCHAR(code, outp);  PUTCHAR(id, outp);  PUTSHORT(outlen, outp);  pppWrite(f->unit, outpacket_buf[f->unit], outlen + PPP_HDRLEN);  FSMDEBUG(LOG_INFO, ("fsm_sdata(%s): Sent code %d,%d,%d./n",        PROTO_NAME(f), code, id, outlen));}
开发者ID:0x00dec0de,项目名称:Rovnix,代码行数:28,


示例25: fsm_input

/* * fsm_input - Input packet. */void fsm_input(fsm *f, u_char *inpacket, int l) {    u_char *inp;    u_char code, id;    int len;    /*     * Parse header (code, id and length).     * If packet too short, drop it.     */    inp = inpacket;    if (l < HEADERLEN) {	FSMDEBUG(("fsm_input(%x): Rcvd short header.", f->protocol));	return;    }    GETCHAR(code, inp);    GETCHAR(id, inp);    GETSHORT(len, inp);    if (len < HEADERLEN) {	FSMDEBUG(("fsm_input(%x): Rcvd illegal length.", f->protocol));	return;    }    if (len > l) {	FSMDEBUG(("fsm_input(%x): Rcvd short packet.", f->protocol));	return;    }    len -= HEADERLEN;		/* subtract header length */    if( f->state == PPP_FSM_INITIAL || f->state == PPP_FSM_STARTING ){	FSMDEBUG(("fsm_input(%x): Rcvd packet in state %d.",		  f->protocol, f->state));	return;    }    /*     * Action depends on code.     */    switch (code) {    case CONFREQ:	fsm_rconfreq(f, id, inp, len);	break;        case CONFACK:	fsm_rconfack(f, id, inp, len);	break;        case CONFNAK:    case CONFREJ:	fsm_rconfnakrej(f, code, id, inp, len);	break;        case TERMREQ:	fsm_rtermreq(f, id, inp, len);	break;        case TERMACK:	fsm_rtermack(f);	break;        case CODEREJ:	fsm_rcoderej(f, inp, len);	break;        default:	if( !f->callbacks->extcode	   || !(*f->callbacks->extcode)(f, code, id, inp, len) )	    fsm_sdata(f, CODEREJ, ++f->id, inpacket, len + HEADERLEN);	break;    }}
开发者ID:MuesliReep,项目名称:STM-Nucleo-F746ZG-TCP-UDP-example,代码行数:72,


示例26: fsm_rconfreq

/* * fsm_rconfreq - Receive Configure-Request. */static voidfsm_rconfreq(fsm *f, u_char id, u_char *inp, int len){  int code, reject_if_disagree;  FSMDEBUG(LOG_INFO, ("fsm_rconfreq(%s): Rcvd id %d state=%d (%s)/n",         PROTO_NAME(f), id, f->state, ppperr_strerr[f->state]));  switch( f->state ) {    case LS_CLOSED:      /* Go away, we're closed */      fsm_sdata(f, TERMACK, id, NULL, 0);      return;    case LS_CLOSING:    case LS_STOPPING:      return;    case LS_OPENED:      /* Go down and restart negotiation */      if( f->callbacks->down ) {        (*f->callbacks->down)(f);  /* Inform upper layers */      }      fsm_sconfreq(f, 0);    /* Send initial Configure-Request */      break;    case LS_STOPPED:      /* Negotiation started by our peer */      fsm_sconfreq(f, 0);    /* Send initial Configure-Request */      f->state = LS_REQSENT;      break;  }    /*  * Pass the requested configuration options  * to protocol-specific code for checking.  */  if (f->callbacks->reqci) {    /* Check CI */    reject_if_disagree = (f->nakloops >= f->maxnakloops);    code = (*f->callbacks->reqci)(f, inp, &len, reject_if_disagree);  } else if (len) {    code = CONFREJ;      /* Reject all CI */  } else {    code = CONFACK;  }    /* send the Ack, Nak or Rej to the peer */  fsm_sdata(f, (u_char)code, id, inp, len);    if (code == CONFACK) {    if (f->state == LS_ACKRCVD) {      UNTIMEOUT(fsm_timeout, f);  /* Cancel timeout */      f->state = LS_OPENED;      if (f->callbacks->up) {        (*f->callbacks->up)(f);  /* Inform upper layers */      }    } else {      f->state = LS_ACKSENT;    }    f->nakloops = 0;  } else {    /* we sent CONFACK or CONFREJ */    if (f->state != LS_ACKRCVD) {      f->state = LS_REQSENT;    }    if( code == CONFNAK ) {      ++f->nakloops;    }  }}
开发者ID:0x00dec0de,项目名称:Rovnix,代码行数:71,


示例27: fsm_input

/* * fsm_input - Input packet. */voidfsm_input(fsm *f, u_char *inpacket, int l){  u_char *inp = inpacket;  u_char code, id;  int len;  /*  * Parse header (code, id and length).  * If packet too short, drop it.  */  if (l < HEADERLEN) {    FSMDEBUG(LOG_WARNING, ("fsm_input(%x): Rcvd short header./n",          f->protocol));    return;  }  GETCHAR(code, inp);  GETCHAR(id, inp);  GETSHORT(len, inp);  if (len < HEADERLEN) {    FSMDEBUG(LOG_INFO, ("fsm_input(%x): Rcvd illegal length./n",        f->protocol));    return;  }  if (len > l) {    FSMDEBUG(LOG_INFO, ("fsm_input(%x): Rcvd short packet./n",        f->protocol));    return;  }  len -= HEADERLEN;    /* subtract header length */  if( f->state == LS_INITIAL || f->state == LS_STARTING ) {    FSMDEBUG(LOG_INFO, ("fsm_input(%x): Rcvd packet in state %d (%s)./n",        f->protocol, f->state, ppperr_strerr[f->state]));    return;  }  FSMDEBUG(LOG_INFO, ("fsm_input(%s):%d,%d,%d/n", PROTO_NAME(f), code, id, l));  /*   * Action depends on code.   */  switch (code) {    case CONFREQ:      fsm_rconfreq(f, id, inp, len);      break;        case CONFACK:      fsm_rconfack(f, id, inp, len);      break;        case CONFNAK:    case CONFREJ:      fsm_rconfnakrej(f, code, id, inp, len);      break;        case TERMREQ:      fsm_rtermreq(f, id, inp, len);      break;        case TERMACK:      fsm_rtermack(f);      break;        case CODEREJ:      fsm_rcoderej(f, inp, len);      break;        default:      FSMDEBUG(LOG_INFO, ("fsm_input(%s): default: /n", PROTO_NAME(f)));      if( !f->callbacks->extcode ||          !(*f->callbacks->extcode)(f, code, id, inp, len) ) {        fsm_sdata(f, CODEREJ, ++f->id, inpacket, len + HEADERLEN);      }      break;  }}
开发者ID:0x00dec0de,项目名称:Rovnix,代码行数:78,



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


C++ FSMakeFSSpec函数代码示例
C++ FSMC_NORSRAMInit函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。