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

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

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

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

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

示例1: end_badly

static voidend_badly (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc){  if (send_task != GNUNET_SCHEDULER_NO_TASK)  {    GNUNET_SCHEDULER_cancel (send_task);    send_task = GNUNET_SCHEDULER_NO_TASK;  }  if (shutdown_task != GNUNET_SCHEDULER_NO_TASK)  {    GNUNET_SCHEDULER_cancel (shutdown_task);    shutdown_task = GNUNET_SCHEDULER_NO_TASK;  }  if (cc != NULL)  {    GNUNET_log (GNUNET_ERROR_TYPE_ERROR, _("Fail! Could not connect peers/n"));    GNUNET_TRANSPORT_TESTING_connect_peers_cancel (tth, cc);    cc = NULL;  }  if (th != NULL)    GNUNET_TRANSPORT_notify_transmit_ready_cancel (th);  th = NULL;  if (blacklist_p1 != NULL)    GNUNET_TRANSPORT_blacklist_cancel (blacklist_p1);  if (blacklist_p2 != NULL)    GNUNET_TRANSPORT_blacklist_cancel (blacklist_p2);  if (p1 != NULL)    GNUNET_TRANSPORT_TESTING_stop_peer (tth, p1);  if (p2 != NULL)    GNUNET_TRANSPORT_TESTING_stop_peer (tth, p2);  ok = GNUNET_SYSERR;}
开发者ID:claudiuolteanu,项目名称:gnunet,代码行数:39,


示例2: GNUNET_SPEEDUP_stop_

/** * Stop tasks that modify clock behavior. */voidGNUNET_SPEEDUP_stop_ (){  if (NULL != speedup_task)  {    GNUNET_SCHEDULER_cancel (speedup_task);    speedup_task = NULL;  }  if ( (0 != interval.rel_value_us) &&       (0 != delta.rel_value_us) )    LOG (GNUNET_ERROR_TYPE_DEBUG,	 "Stopped execution speed up/n");}
开发者ID:muggenhor,项目名称:GNUnet,代码行数:16,


示例3: end

static voidend (){  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Stopping peers/n");  if (timer_task != NULL)  {    GNUNET_SCHEDULER_cancel (timer_task);    timer_task = NULL;  }  if (die_task != NULL)  {    GNUNET_SCHEDULER_cancel (die_task);    die_task = NULL;  }  if (th != NULL)    GNUNET_TRANSPORT_notify_transmit_ready_cancel (th);  th = NULL;  GNUNET_TRANSPORT_TESTING_stop_peer (tth, p1);  GNUNET_TRANSPORT_TESTING_stop_peer (tth, p2);  if (disconnects == 0)    ok = 0;  else  {    ok = disconnects;    GNUNET_log (GNUNET_ERROR_TYPE_ERROR,                "Fail! Had %u disconnects while waiting %s/n",                disconnects,		GNUNET_STRINGS_relative_time_to_string (WAIT,							GNUNET_YES));  }  GNUNET_TRANSPORT_TESTING_done (tth);}
开发者ID:tg-x,项目名称:gnunet,代码行数:39,


示例4: end_badly

static voidend_badly (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc){  die_task = GNUNET_SCHEDULER_NO_TASK;  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Fail! Stopping peers/n");  if (restarted == GNUNET_YES)    GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Peer was restarted/n");  if (restarted == GNUNET_NO)    GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Peer was NOT restarted/n");  if (reconnect_task != GNUNET_SCHEDULER_NO_TASK)    GNUNET_SCHEDULER_cancel (reconnect_task);  reconnect_task = GNUNET_SCHEDULER_NO_TASK;  if (send_task != GNUNET_SCHEDULER_NO_TASK)    GNUNET_SCHEDULER_cancel (send_task);  send_task = GNUNET_SCHEDULER_NO_TASK;  if (cc != NULL)  {    GNUNET_log (GNUNET_ERROR_TYPE_ERROR, _("Fail! Could not connect peers/n"));    GNUNET_TRANSPORT_TESTING_connect_peers_cancel (tth, cc);    cc = NULL;  }  if (th != NULL)    GNUNET_TRANSPORT_notify_transmit_ready_cancel (th);  th = NULL;  if (p1 != NULL)    GNUNET_TRANSPORT_TESTING_stop_peer (tth, p1);  if (p2 != NULL)    GNUNET_TRANSPORT_TESTING_stop_peer (tth, p2);  ok = GNUNET_SYSERR;}
开发者ID:amatus,项目名称:gnunet-debian,代码行数:39,


示例5: do_abort

/** * Something went wrong and timed out. Kill everything and set error flag */static voiddo_abort (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc){  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "ABORT/n");  result = GNUNET_SYSERR;  abort_task = NULL;  if (NULL != shutdown_task)  {    GNUNET_SCHEDULER_cancel (shutdown_task);    shutdown_task = NULL;  }  do_shutdown (cls, tc);}
开发者ID:tg-x,项目名称:gnunet,代码行数:16,


示例6: GNUNET_TESTBED_LOGGER_flush_cancel

/** * Cancel notification upon flush.  Should only be used when the flush * completion callback given to GNUNET_TESTBED_LOGGER_flush() is not already * called. * * @param h the logger handle */voidGNUNET_TESTBED_LOGGER_flush_cancel (struct GNUNET_TESTBED_LOGGER_Handle *h){  if (GNUNET_SCHEDULER_NO_TASK != h->flush_completion_task)  {    GNUNET_SCHEDULER_cancel (h->flush_completion_task);    h->flush_completion_task = GNUNET_SCHEDULER_NO_TASK;  }  if (GNUNET_SCHEDULER_NO_TASK != h->timeout_flush_task)    cancel_timeout_flush (h);  h->cb = NULL;  h->cb_cls = NULL;}
开发者ID:claudiuolteanu,项目名称:gnunet-1,代码行数:20,


示例7: end_badly

static voidend_badly (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc){  die_task = NULL;  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Fail! Stopping peers/n");  if (send_task != NULL)    GNUNET_SCHEDULER_cancel (send_task);  if (cc != NULL)  {    GNUNET_log (GNUNET_ERROR_TYPE_ERROR, _("Fail! Could not connect peers/n"));    GNUNET_TRANSPORT_TESTING_connect_peers_cancel (tth, cc);    cc = NULL;  }  if (th != NULL)    GNUNET_TRANSPORT_notify_transmit_ready_cancel (th);  else    GNUNET_log (GNUNET_ERROR_TYPE_ERROR, _("Peer were not ready to send data/n"));  if (s_started == GNUNET_NO)    GNUNET_log (GNUNET_ERROR_TYPE_ERROR, _("Peers were not started /n"));  else    GNUNET_log (GNUNET_ERROR_TYPE_ERROR, _("Peers were started /n"));  if (s_connected == GNUNET_NO)    GNUNET_log (GNUNET_ERROR_TYPE_ERROR, _("Peer were not connected/n"));  else    GNUNET_log (GNUNET_ERROR_TYPE_ERROR, _("Peer were connected/n"));  if (s_sending == GNUNET_NO)    GNUNET_log (GNUNET_ERROR_TYPE_ERROR, _("Peer were not ready to send data/n"));  else    GNUNET_log (GNUNET_ERROR_TYPE_ERROR, _("Peer were ready to send data/n"));  th = NULL;  if (p1 != NULL)    GNUNET_TRANSPORT_TESTING_stop_peer (tth, p1);  else    GNUNET_log (GNUNET_ERROR_TYPE_ERROR, _("Peer 1 was not started/n"));  if (p2 != NULL)    GNUNET_TRANSPORT_TESTING_stop_peer (tth, p2);  else    GNUNET_log (GNUNET_ERROR_TYPE_ERROR, _("Peer 2 was not started/n"));  ok = GNUNET_SYSERR;}
开发者ID:muggenhor,项目名称:GNUnet,代码行数:51,


示例8: GNUNET_CONNECTION_notify_transmit_ready

/** * Ask the connection to call us once the specified number of bytes * are free in the transmission buffer.  May call the notify * method immediately if enough space is available. * * @param connection connection * @param size number of bytes to send * @param timeout after how long should we give up (and call *        notify with buf NULL and size 0)? * @param notify function to call * @param notify_cls closure for notify * @return non-NULL if the notify callback was queued, *         NULL if we are already going to notify someone else (busy) */struct GNUNET_CONNECTION_TransmitHandle *GNUNET_CONNECTION_notify_transmit_ready (struct GNUNET_CONNECTION_Handle *connection,                                         size_t size,                                         struct GNUNET_TIME_Relative timeout,                                         GNUNET_CONNECTION_TransmitReadyNotify                                         notify, void *notify_cls){  if (NULL != connection->nth.notify_ready)  {    GNUNET_assert (0);    return NULL;  }  GNUNET_assert (NULL != notify);  GNUNET_assert (size < GNUNET_SERVER_MAX_MESSAGE_SIZE);  GNUNET_assert (connection->write_buffer_off <= connection->write_buffer_size);  GNUNET_assert (connection->write_buffer_pos <= connection->write_buffer_size);  GNUNET_assert (connection->write_buffer_pos <= connection->write_buffer_off);  connection->nth.notify_ready = notify;  connection->nth.notify_ready_cls = notify_cls;  connection->nth.connection = connection;  connection->nth.notify_size = size;  connection->nth.transmit_timeout = GNUNET_TIME_relative_to_absolute (timeout);  GNUNET_assert (GNUNET_SCHEDULER_NO_TASK == connection->nth.timeout_task);  if ((NULL == connection->sock) &&       (NULL == connection->ap_head) &&      (NULL == connection->dns_active))  {    if (GNUNET_SCHEDULER_NO_TASK != connection->write_task)      GNUNET_SCHEDULER_cancel (connection->write_task);    connection->write_task = GNUNET_SCHEDULER_add_now (&connect_error, connection);    return &connection->nth;  }  if (GNUNET_SCHEDULER_NO_TASK != connection->write_task)    return &connection->nth; /* previous transmission still in progress */  if (NULL != connection->sock)  {    /* connected, try to transmit now */    LOG (GNUNET_ERROR_TYPE_DEBUG, "Scheduling transmission (%p)./n", connection);    connection->write_task =        GNUNET_SCHEDULER_add_write_net (GNUNET_TIME_absolute_get_remaining                                        (connection->nth.transmit_timeout),                                        connection->sock, &transmit_ready, connection);    return &connection->nth;  }  /* not yet connected, wait for connection */  LOG (GNUNET_ERROR_TYPE_DEBUG,       "Need to wait to schedule transmission for connection, adding timeout task (%p)./n", connection);  connection->nth.timeout_task =    GNUNET_SCHEDULER_add_delayed (timeout, &transmit_timeout, connection);  return &connection->nth;}
开发者ID:h4ck3rm1k3,项目名称:gnunet-debian,代码行数:65,


示例9: on_lookup_result

/** * Function called on result for a GNS lookup * * @param cls closure, unused * @param rd_count number of records * @param rd the records in reply */static voidon_lookup_result(void *cls, uint32_t rd_count,                 const struct GNUNET_NAMESTORE_RecordData *rd){  struct in_addr a;  uint32_t i;  char* addr;  lr = NULL;  if (GNUNET_SCHEDULER_NO_TASK != die_task)  {      GNUNET_SCHEDULER_cancel (die_task);      die_task = GNUNET_SCHEDULER_NO_TASK;  }  GNUNET_NAMESTORE_disconnect (namestore_handle);  namestore_handle = NULL;  if (rd_count == 0)  {    GNUNET_log (GNUNET_ERROR_TYPE_ERROR,                "Lookup failed, rp_filtering?/n");    ok = 2;  }  else  {    ok = 1;    GNUNET_log (GNUNET_ERROR_TYPE_INFO, "name: %s/n", (char*)cls);    for (i=0; i<rd_count; i++)    {      GNUNET_log (GNUNET_ERROR_TYPE_INFO, "type: %d/n", rd[i].record_type);      if (rd[i].record_type == GNUNET_GNS_RECORD_A)      {        memcpy (&a, rd[i].data, sizeof(a));        addr = inet_ntoa(a);        GNUNET_log (GNUNET_ERROR_TYPE_INFO, "address: %s/n", addr);        if (0 == strcmp (addr, TEST_IP))        {          GNUNET_log (GNUNET_ERROR_TYPE_INFO,		      "%s correctly resolved to %s!/n",		      TEST_DOMAIN, addr);          ok = 0;        }      }      else      {        GNUNET_log (GNUNET_ERROR_TYPE_ERROR,		    "No resolution!/n");      }    }  }  GNUNET_SCHEDULER_add_now (&shutdown_task, NULL);}
开发者ID:amatus,项目名称:gnunet-debian,代码行数:58,


示例10: end_badly

/** * Check if the get_handle is being used, if so stop the request.  Either * way, schedule the end_badly_cont function which actually shuts down the * test. */static voidend_badly (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc){  die_task = GNUNET_SCHEDULER_NO_TASK;  int c;  if (GNUNET_SCHEDULER_NO_TASK != wait_task)  {      GNUNET_SCHEDULER_cancel (wait_task);      wait_task = GNUNET_SCHEDULER_NO_TASK;  }  for (c = 0; c < 3; c++)  {    if (NULL != nh[c])    {      GNUNET_NAMESTORE_disconnect(nh[c]);      nh[c] = NULL;    }    if (NULL != get_cfg_ops[c])    {        GNUNET_TESTBED_operation_done(get_cfg_ops[c]);        get_cfg_ops[c] = NULL;    }    if (NULL != cfg_handles[c])    {      GNUNET_CONFIGURATION_destroy (cfg_handles[c]);      cfg_handles[c] = NULL;    }  }  if (NULL != topology_op)  {    GNUNET_TESTBED_operation_done (topology_op);    topology_op = NULL;  }  if (NULL != lookup_handle)  {    GNUNET_GNS_cancel_lookup_request (lookup_handle);    lookup_handle = NULL;  }  if (NULL != gh)  {    GNUNET_GNS_disconnect(gh);    gh = NULL;  }    GNUNET_log (GNUNET_ERROR_TYPE_INFO, "Test failed /n");  GNUNET_SCHEDULER_shutdown ();  ok = 1;}
开发者ID:amatus,项目名称:gnunet-debian,代码行数:56,


示例11: GNUNET_NAT_mini_map_stop

/** * Remove a mapping created with (mini)upnpc.  Calling * this function will give 'upnpc' 1s to remove tha mapping, * so while this function is non-blocking, a task will be * left with the scheduler for up to 1s past this call. * * @param mini the handle */voidGNUNET_NAT_mini_map_stop (struct GNUNET_NAT_MiniHandle *mini){  char pstr[6];  if (NULL != mini->refresh_task)  {    GNUNET_SCHEDULER_cancel (mini->refresh_task);    mini->refresh_task = NULL;  }  if (NULL != mini->refresh_cmd)  {    GNUNET_OS_command_stop (mini->refresh_cmd);    mini->refresh_cmd = NULL;  }  if (NULL != mini->map_cmd)  {    GNUNET_OS_command_stop (mini->map_cmd);    mini->map_cmd = NULL;  }  if (GNUNET_NO == mini->did_map)  {    GNUNET_free (mini);    return;  }  mini->ac (mini->ac_cls,	    GNUNET_NO,            (const struct sockaddr *) &mini->current_addr,            sizeof (mini->current_addr),            GNUNET_NAT_ERROR_SUCCESS);  /* Note: oddly enough, deletion uses the external port whereas   * addition uses the internal port; this rarely matters since they   * often are the same, but it might... */  GNUNET_snprintf (pstr,                   sizeof (pstr),                   "%u",                   (unsigned int) ntohs (mini->current_addr.sin_port));  LOG (GNUNET_ERROR_TYPE_DEBUG,       "Unmapping port %u with UPnP/n",       ntohs (mini->current_addr.sin_port));  mini->unmap_cmd     = GNUNET_OS_command_run (&process_unmap_output,			     mini,			     UNMAP_TIMEOUT,                             "upnpc",			     "upnpc",			     "-d",			     pstr,                             mini->is_tcp ? "tcp" : "udp",			     NULL);}
开发者ID:GNUnet,项目名称:gnunet,代码行数:59,


示例12: put_cont

static voidput_cont (void *cls, int32_t success, const char *emsg){  static int c = 0;  if (success == GNUNET_OK)  {    c++;    GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Created record %u /n", c);  }  else  {    GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Failed to created records/n");    GNUNET_break (0);    GNUNET_SCHEDULER_cancel (endbadly_task);    endbadly_task = GNUNET_SCHEDULER_add_now (&endbadly, NULL);  }  if (c == 3)  {    res = 1;    returned_records = 0;    GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "All records created, starting iteration over all zones /n");    zi = GNUNET_NAMESTORE_zone_iteration_start(nsh,                                        NULL,                                        GNUNET_NAMESTORE_RF_NONE,                                        GNUNET_NAMESTORE_RF_NONE,                                        zone_proc,                                        &zone);    if (zi == NULL)    {      GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Failed to create zone iterator/n");      GNUNET_break (0);      GNUNET_SCHEDULER_cancel (endbadly_task);      endbadly_task = GNUNET_SCHEDULER_add_now (&endbadly, NULL);    }  }}
开发者ID:schanzen,项目名称:gnunet-mirror,代码行数:38,


示例13: end

static voidend (){  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, 	      "Stopping peers/n");  if (timeout_task != NULL)    GNUNET_SCHEDULER_cancel (timeout_task);  GNUNET_TRANSPORT_TESTING_stop_peer (tth, p1);  GNUNET_TRANSPORT_TESTING_stop_peer (tth, p2);  GNUNET_TRANSPORT_TESTING_done (tth);}
开发者ID:muggenhor,项目名称:GNUnet,代码行数:14,


示例14: handle_announce

/** * Handle ANNOUNCE message. * * @param cls closure * @param client identification of the client * @param message the actual message */static voidhandle_announce (void *cls,		 struct GNUNET_SERVER_Client *client,		 const struct GNUNET_MessageHeader *message){  const struct AnnounceMessage *am;  const char *regex;  struct ClientEntry *ce;  uint16_t size;  size = ntohs (message->size);  am = (const struct AnnounceMessage *) message;  regex = (const char *) &am[1];  if ( (size <= sizeof (struct AnnounceMessage)) ||       ('/0' != regex[size - sizeof (struct AnnounceMessage) - 1]) )  {    GNUNET_break (0);    GNUNET_SERVER_receive_done (client, GNUNET_SYSERR);    return;  }  ce = GNUNET_new (struct ClientEntry);  ce->client = client;  ce->frequency = GNUNET_TIME_relative_ntoh (am->refresh_delay);  ce->refresh_task = GNUNET_SCHEDULER_add_delayed (ce->frequency,						   &reannounce,						   ce);  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,	      "Starting to announce regex `%s' every %s/n",	      regex,	      GNUNET_STRINGS_relative_time_to_string (ce->frequency,						      GNUNET_NO));  ce->ah = REGEX_INTERNAL_announce (dht,				    my_private_key,				    regex,				    ntohs (am->compression),				    stats);  if (NULL == ce->ah)  {    GNUNET_break (0);    GNUNET_SCHEDULER_cancel (ce->refresh_task);    GNUNET_free (ce);    GNUNET_SERVER_receive_done (client, GNUNET_SYSERR);    return;  }  GNUNET_CONTAINER_DLL_insert (client_head,			       client_tail,			       ce);  GNUNET_SERVER_receive_done (client, GNUNET_OK);}
开发者ID:GNUnet,项目名称:gnunet,代码行数:57,


示例15: abort_publish_task

static voidabort_publish_task (void *cls){  if (NULL != publish)  {    GNUNET_FS_publish_stop (publish);    publish = NULL;  }  if (NULL != timeout_task)  {    GNUNET_SCHEDULER_cancel (timeout_task);    timeout_task = NULL;  }}
开发者ID:GNUnet,项目名称:gnunet,代码行数:14,


示例16: receive

static intreceive (void *cls, const struct GNUNET_PeerIdentity *other,         const struct GNUNET_MessageHeader *message){  if (die_task != GNUNET_SCHEDULER_NO_TASK)    GNUNET_SCHEDULER_cancel (die_task);  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Received message from peer %s/n",              GNUNET_i2s (other));  GNUNET_assert (GNUNET_MESSAGE_TYPE_DUMMY == ntohs (message->type));  GNUNET_assert (0 == memcmp (other, &myself, sizeof (myself)));  GNUNET_SCHEDULER_add_now (&cleanup, NULL);  ret = 0;  return GNUNET_OK;}
开发者ID:claudiuolteanu,项目名称:gnunet-1,代码行数:14,


示例17: reschedule_session_timeout

/** * Increment session timeout due to activity */static voidreschedule_session_timeout (struct Session *s){  GNUNET_assert (NULL != s);  GNUNET_assert (GNUNET_SCHEDULER_NO_TASK != s->timeout_task);  GNUNET_SCHEDULER_cancel (s->timeout_task);  s->timeout_task =  GNUNET_SCHEDULER_add_delayed (GNUNET_CONSTANTS_IDLE_CONNECTION_TIMEOUT,                                                   &session_timeout,                                                   s);  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Timeout rescheduled for session %p set to %llu/n",      s, GNUNET_CONSTANTS_IDLE_CONNECTION_TIMEOUT.rel_value);}
开发者ID:h4ck3rm1k3,项目名称:gnunet-debian,代码行数:17,


示例18: notify_connect

/** * Function called to notify transport users that another * peer connected to us. * * @param cls closure * @param peer the peer that connected * @param latency current latency of the connection * @param distance in overlay hops, as given by transport plugin */static voidnotify_connect (void *cls, const struct GNUNET_PeerIdentity *peer){  if (peer == NULL)    return;  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Peers connected, shutting down./n");  ok = 0;  if (timeout_task != GNUNET_SCHEDULER_NO_TASK)  {    GNUNET_SCHEDULER_cancel (timeout_task);    timeout_task = GNUNET_SCHEDULER_NO_TASK;  }  GNUNET_SCHEDULER_add_now (&clean_up, NULL);}
开发者ID:claudiuolteanu,项目名称:gnunet-1,代码行数:23,


示例19: GNUNET_RESOLVER_hostname_get

/** * Get an IP address as a string. * * @param sa host address * @param salen length of host address * @param do_resolve use GNUNET_NO to return numeric hostname * @param timeout how long to try resolving * @param callback function to call with hostnames *        last callback is NULL when finished * @param cls closure for callback * @return handle that can be used to cancel the request */struct GNUNET_RESOLVER_RequestHandle *GNUNET_RESOLVER_hostname_get (const struct sockaddr *sa, socklen_t salen,                              int do_resolve,                              struct GNUNET_TIME_Relative timeout,                              GNUNET_RESOLVER_HostnameCallback callback,                              void *cls){  struct GNUNET_RESOLVER_RequestHandle *rh;  size_t ip_len;  const void *ip;  check_config ();  switch (sa->sa_family)  {  case AF_INET:    ip_len = sizeof (struct in_addr);    ip = &((const struct sockaddr_in*)sa)->sin_addr;    break;  case AF_INET6:    ip_len = sizeof (struct in6_addr);    ip = &((const struct sockaddr_in6*)sa)->sin6_addr;    break;  default:    GNUNET_break (0);    return NULL;  }  rh = GNUNET_malloc (sizeof (struct GNUNET_RESOLVER_RequestHandle) + salen);  rh->name_callback = callback;  rh->cls = cls;  rh->af = sa->sa_family;  rh->timeout = GNUNET_TIME_relative_to_absolute (timeout);  memcpy (&rh[1], ip, ip_len);  rh->data_len = ip_len;  rh->direction = GNUNET_YES;  rh->received_response = GNUNET_NO;  if (GNUNET_NO == do_resolve)  {    rh->task = GNUNET_SCHEDULER_add_now (&numeric_reverse, rh);    return rh;  }  GNUNET_CONTAINER_DLL_insert_tail (req_head, req_tail, rh);  rh->was_queued = GNUNET_YES;  if (s_task != GNUNET_SCHEDULER_NO_TASK)  {    GNUNET_SCHEDULER_cancel (s_task);    s_task = GNUNET_SCHEDULER_NO_TASK;  }  process_requests ();  return rh;}
开发者ID:amatus,项目名称:gnunet-debian,代码行数:62,


示例20: end

static voidend (){  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Stopping peers/n");  if (send_task != NULL)  {    GNUNET_SCHEDULER_cancel (send_task);    send_task = NULL;  }  if (die_task != NULL)    GNUNET_SCHEDULER_cancel (die_task);  if (NULL != th)  {    GNUNET_TRANSPORT_notify_transmit_ready_cancel (th);    th = NULL;  }  GNUNET_TRANSPORT_TESTING_stop_peer (tth, p1);  GNUNET_TRANSPORT_TESTING_stop_peer (tth, p2);}
开发者ID:tg-x,项目名称:gnunet,代码行数:23,


示例21: abort_sks_search_task

static voidabort_sks_search_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc){  if (sks_search == NULL)    return;  GNUNET_FS_search_stop (sks_search);  sks_search = NULL;  if (ksk_search == NULL)  {    GNUNET_FS_stop (fs);    if (NULL != kill_task)      GNUNET_SCHEDULER_cancel (kill_task);  }}
开发者ID:muggenhor,项目名称:GNUnet,代码行数:14,


示例22: GNUNET_ATS_TEST_logging_stop

/** * Stop logging * * @param l the logging handle */voidGNUNET_ATS_TEST_logging_stop (struct LoggingHandle *l){  if (GNUNET_YES!= l->running)    return;  if (NULL != l->log_task)    GNUNET_SCHEDULER_cancel (l->log_task);  l->log_task = NULL;  l->running = GNUNET_NO;  GNUNET_log(GNUNET_ERROR_TYPE_INFO,      _("Stop logging/n"));}
开发者ID:muggenhor,项目名称:GNUnet,代码行数:19,


示例23: shutdown_task

/** * Function run on CTRL-C or shutdown (i.e. success/timeout/etc.). * Cleans up. */static voidshutdown_task (void *cls){  if (NULL != peer0)  {    GNUNET_TESTBED_operation_done (peer0);    peer0 = NULL;  }  if (NULL != timeout_tid)    {      GNUNET_SCHEDULER_cancel (timeout_tid);      timeout_tid = NULL;    }}
开发者ID:GNUnet,项目名称:gnunet,代码行数:18,


示例24: GCD_shutdown

/** * Shut down the DHT subsystem. */voidGCD_shutdown (void){  if (NULL != dht_handle)  {    GNUNET_DHT_disconnect (dht_handle);    dht_handle = NULL;  }  if (NULL != announce_id_task)  {    GNUNET_SCHEDULER_cancel (announce_id_task);    announce_id_task = NULL;  }}
开发者ID:GNUnet,项目名称:gnunet,代码行数:17,


示例25: transmit_ready

static size_ttransmit_ready (void *cls, size_t size, void *buf){  char *cbuf = buf;  struct TestMessage hdr;  unsigned int ret;  p1.nth = NULL;  GNUNET_assert (size <= GNUNET_CONSTANTS_MAX_ENCRYPTED_MESSAGE_SIZE);  if (buf == NULL)  {    if ((p1.ch != NULL) && (p1.connect_status == 1))      GNUNET_break (NULL !=                    (p1.nth =                     GNUNET_CORE_notify_transmit_ready (p1.ch, GNUNET_NO,                                                        GNUNET_CORE_PRIO_BEST_EFFORT,                                                        FAST_TIMEOUT, &p2.id,                                                        MESSAGESIZE,                                                        &transmit_ready, &p1)));    return 0;  }  GNUNET_assert (tr_n < TOTAL_MSGS);  ret = 0;  GNUNET_assert (size >= MESSAGESIZE);  GNUNET_assert (buf != NULL);  cbuf = buf;  do  {    GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,                "Sending message %u of size %u at offset %u/n", tr_n,                MESSAGESIZE, ret);    hdr.header.size = htons (MESSAGESIZE);    hdr.header.type = htons (MTYPE);    hdr.num = htonl (tr_n);    memcpy (&cbuf[ret], &hdr, sizeof (struct TestMessage));    ret += sizeof (struct TestMessage);    memset (&cbuf[ret], tr_n, MESSAGESIZE - sizeof (struct TestMessage));    ret += MESSAGESIZE - sizeof (struct TestMessage);    tr_n++;    if (0 == GNUNET_CRYPTO_random_u32 (GNUNET_CRYPTO_QUALITY_WEAK, 16))      break;                    /* sometimes pack buffer full, sometimes not */  }  while (size - ret >= MESSAGESIZE);  GNUNET_SCHEDULER_cancel (err_task);  err_task =      GNUNET_SCHEDULER_add_delayed (TIMEOUT, &terminate_task_error, NULL);  total_bytes_sent += ret;  return ret;}
开发者ID:muggenhor,项目名称:GNUnet,代码行数:50,


示例26: host_registration_completion

/** * Callback which will be called to after a host registration succeeded or failed * * @param cls the closure * @param emsg the error message; NULL if host registration is successful */static voidhost_registration_completion (void *cls, const char *emsg){  reg_handle = NULL;  if (NULL != emsg)  {    LOG (GNUNET_ERROR_TYPE_WARNING,         _("Host registration failed for a host. Error: %s/n"), emsg);    GNUNET_SCHEDULER_cancel (abort_task);    abort_task = GNUNET_SCHEDULER_add_now (&do_abort, NULL);    return;  }  register_hosts_task = GNUNET_SCHEDULER_add_now (&register_hosts, NULL);}
开发者ID:schanzen,项目名称:gnunet-mirror,代码行数:20,


示例27: abort_publish_task

static voidabort_publish_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc){  if (NULL != publish)  {    GNUNET_FS_publish_stop (publish);    publish = NULL;  }  if (NULL != timeout_task)  {    GNUNET_SCHEDULER_cancel (timeout_task);    timeout_task = NULL;  }}
开发者ID:tg-x,项目名称:gnunet,代码行数:14,


示例28: do_shutdown

/** * We are done with everything.  Stop remaining * tasks, signal handler and the server. */static voiddo_shutdown (){  if (NULL != server)    {      GNUNET_SERVER_destroy (server);      server = NULL;    }  if (GNUNET_SCHEDULER_NO_TASK != child_death_task)    {      GNUNET_SCHEDULER_cancel (child_death_task);      child_death_task = GNUNET_SCHEDULER_NO_TASK;    }}
开发者ID:h4ck3rm1k3,项目名称:gnunet-debian,代码行数:18,


示例29: finish_testing

static voidfinish_testing (){  GNUNET_assert (pg != NULL);  if (die_task != GNUNET_SCHEDULER_NO_TASK)    GNUNET_SCHEDULER_cancel (die_task);  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,              "Called finish testing, stopping daemons./n");  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Calling daemons_stop/n");  GNUNET_TESTING_daemons_stop (pg, TIMEOUT, &shutdown_callback, NULL);  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "daemons_stop finished/n");  ok = 0;}
开发者ID:h4ck3rm1k3,项目名称:gnunet-debian,代码行数:14,


示例30: terminate_task

/** * Task run on shutdown to terminate.  Triggers printing out * all statistics. * * @param cls NULL */static voidterminate_task (void *cls){    if (NULL != terminate_taskid)    {        GNUNET_SCHEDULER_cancel (terminate_taskid);        terminate_taskid = NULL;    }    GNUNET_TESTBED_get_statistics (0, NULL,                                   NULL, NULL,                                   &process_stats,                                   &shutdown_task,                                   NULL);}
开发者ID:GNUnet,项目名称:gnunet,代码行数:20,



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


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