Beispiel #1
0
static void tcpsend_send(t_tcpsend *x, t_symbol *s, int argc, t_atom *argv)
{
  int size=0;
  t_iemnet_sender*sender=x->x_sender;
  t_iemnet_chunk*chunk=iemnet__chunk_create_list(argc, argv);
  if(sender && chunk) {
    size=iemnet__sender_send(sender, chunk);
  }
  iemnet__chunk_destroy(chunk);
}
Beispiel #2
0
static void udpsend_send(t_udpsend *x, t_symbol *s, int argc, t_atom *argv)
{
  if(x->x_sender) {
    t_iemnet_chunk*chunk=iemnet__chunk_create_list(argc, argv);
    iemnet__sender_send(x->x_sender, chunk);
    iemnet__chunk_destroy(chunk);
  } else {
    error("[%s]: not connected", objName);
  }
}
Beispiel #3
0
static void udpclient_send(t_udpclient *x, t_symbol *s, int argc, t_atom *argv)
{
  int size=0;
  t_atom output_atom;
  t_iemnet_sender*sender=x->x_sender;

  t_iemnet_chunk*chunk=iemnet__chunk_create_list(argc, argv);
  if(sender && chunk) {
    size=iemnet__sender_send(sender, chunk);
  }
  iemnet__chunk_destroy(chunk);

  SETFLOAT(&output_atom, size);
  outlet_anything( x->x_statusout, gensym("sent"), 1, &output_atom);
}
Beispiel #4
0
t_iemnet_chunk* iemnet__chunk_create_empty(int size) {
  t_iemnet_chunk*result=(t_iemnet_chunk*)malloc(sizeof(t_iemnet_chunk));
  if(result) {
    result->size=size;
    result->data=(unsigned char*)malloc(sizeof(unsigned char)*size); 

    if(NULL == result->data) {
      result->size=0;
      iemnet__chunk_destroy(result);
      return NULL;
    }

    memset(result->data, 0, result->size);

    result->addr=0L;
    result->port=0;

  }
  return result;
}
Beispiel #5
0
void queue_destroy(t_iemnet_queue* q) {
  t_iemnet_chunk*c=NULL;
  if(NULL==q) 
    return;
  DEBUG("queue destroy %x", q);

  queue_finish(q);

  /* remove all the chunks from the queue */
  while(NULL!=(c=queue_pop_noblock(q))) {
    iemnet__chunk_destroy(c);
  }

  q->head=NULL;
  q->tail=NULL;

  pthread_mutex_destroy(&q->mtx);
  pthread_cond_destroy(&q->cond);

  free(q);
  q=NULL;
  DEBUG("queue destroyed %x", q);
}