Exemple #1
0
int set_drop_tail_thr(const int thr) {
  write_atomic_int(&EGRESS_CB_SIZE, thr);
  RMT_LOG(P4_LOG_LEVEL_INFO, "Set drop tail threshold to %d\n", thr);
  int i = 0;
  for (i = 0; i < NB_THREADS_PER_PIPELINE; i++) {
    cb_resize(egress_pipeline_instances[i]->cb_in, read_atomic_int(&EGRESS_CB_SIZE), free_egress_pkt);
  }
  return 0;
}
Exemple #2
0
void dec_add_word (Decoder *dec, List *s)
{
  if (s == NULL) return;

  /* Agrega una copia de la lista al buffer. La cadena en el buffer
   * se guarda en su orden, pero la del parámetro está al revés. */
  dec->charbuffer.buffer[dec->charbuffer.nelem] = list_new (s->data);
  for (s = s->next; s != NULL; s = s->next) {
    dec->charbuffer.buffer[dec->charbuffer.nelem] = 
      list_prepend (dec->charbuffer.buffer[dec->charbuffer.nelem], s->data);
  }
  
  if (++dec->charbuffer.nelem >= (1 << dec->nbits)) /* nelem+1 >= 2^nbits. */
    dec->nbits++;
  
  if (dec->charbuffer.nelem >= dec->charbuffer.nmax)
    cb_resize (&dec->charbuffer);
}