Lines Matching refs:peer

77 ivshmem_client_free_peer(IvshmemClient *client, IvshmemClientPeer *peer)  in ivshmem_client_free_peer()  argument
81 QTAILQ_REMOVE(&client->peer_list, peer, next); in ivshmem_client_free_peer()
82 for (vector = 0; vector < peer->vectors_count; vector++) { in ivshmem_client_free_peer()
83 close(peer->vectors[vector]); in ivshmem_client_free_peer()
86 g_free(peer); in ivshmem_client_free_peer()
93 IvshmemClientPeer *peer; in ivshmem_client_handle_server_msg() local
103 peer = ivshmem_client_search_peer(client, peer_id); in ivshmem_client_handle_server_msg()
108 if (peer == NULL || peer == &client->local) { in ivshmem_client_handle_server_msg()
115 ivshmem_client_free_peer(client, peer); in ivshmem_client_handle_server_msg()
120 if (peer == NULL) { in ivshmem_client_handle_server_msg()
121 peer = g_malloc0(sizeof(*peer)); in ivshmem_client_handle_server_msg()
122 peer->id = peer_id; in ivshmem_client_handle_server_msg()
123 peer->vectors_count = 0; in ivshmem_client_handle_server_msg()
124 QTAILQ_INSERT_TAIL(&client->peer_list, peer, next); in ivshmem_client_handle_server_msg()
130 PRId64 "\n", peer->vectors_count, fd, peer->id); in ivshmem_client_handle_server_msg()
131 if (peer->vectors_count >= G_N_ELEMENTS(peer->vectors)) { in ivshmem_client_handle_server_msg()
136 peer->vectors[peer->vectors_count] = fd; in ivshmem_client_handle_server_msg()
137 peer->vectors_count++; in ivshmem_client_handle_server_msg()
249 IvshmemClientPeer *peer; in ivshmem_client_close() local
254 while ((peer = QTAILQ_FIRST(&client->peer_list)) != NULL) { in ivshmem_client_close()
255 ivshmem_client_free_peer(client, peer); in ivshmem_client_close()
295 IvshmemClientPeer *peer; in ivshmem_client_handle_event() local
300 peer = &client->local; in ivshmem_client_handle_event()
302 for (i = 0; i < peer->vectors_count; i++) { in ivshmem_client_handle_event()
303 if (peer->vectors[i] >= maxfd || !FD_ISSET(peer->vectors[i], cur)) { in ivshmem_client_handle_event()
307 ret = read(peer->vectors[i], &kick, sizeof(kick)); in ivshmem_client_handle_event()
317 PRIu64 "\n", peer->vectors[i], i, kick); in ivshmem_client_handle_event()
319 client->notif_cb(client, peer, i, client->notif_arg); in ivshmem_client_handle_event()
347 const IvshmemClientPeer *peer, unsigned vector) in ivshmem_client_notify() argument
352 if (vector >= peer->vectors_count) { in ivshmem_client_notify()
354 vector, peer->id); in ivshmem_client_notify()
357 fd = peer->vectors[vector]; in ivshmem_client_notify()
359 " on vector %d, fd %d\n", peer->id, vector, fd); in ivshmem_client_notify()
363 fprintf(stderr, "could not write to %d: %s\n", peer->vectors[vector], in ivshmem_client_notify()
373 const IvshmemClientPeer *peer) in ivshmem_client_notify_all_vects() argument
378 for (vector = 0; vector < peer->vectors_count; vector++) { in ivshmem_client_notify_all_vects()
379 if (ivshmem_client_notify(client, peer, vector) < 0) { in ivshmem_client_notify_all_vects()
391 IvshmemClientPeer *peer; in ivshmem_client_notify_broadcast() local
394 QTAILQ_FOREACH(peer, &client->peer_list, next) { in ivshmem_client_notify_broadcast()
395 if (ivshmem_client_notify_all_vects(client, peer) < 0) { in ivshmem_client_notify_broadcast()
407 IvshmemClientPeer *peer; in ivshmem_client_search_peer() local
413 QTAILQ_FOREACH(peer, &client->peer_list, next) { in ivshmem_client_search_peer()
414 if (peer->id == peer_id) { in ivshmem_client_search_peer()
415 return peer; in ivshmem_client_search_peer()
425 const IvshmemClientPeer *peer; in ivshmem_client_dump() local
429 peer = &client->local; in ivshmem_client_dump()
430 printf("our_id = %" PRId64 "\n", peer->id); in ivshmem_client_dump()
431 for (vector = 0; vector < peer->vectors_count; vector++) { in ivshmem_client_dump()
433 peer->vectors[vector]); in ivshmem_client_dump()
437 QTAILQ_FOREACH(peer, &client->peer_list, next) { in ivshmem_client_dump()
438 printf("peer_id = %" PRId64 "\n", peer->id); in ivshmem_client_dump()
440 for (vector = 0; vector < peer->vectors_count; vector++) { in ivshmem_client_dump()
442 peer->vectors[vector]); in ivshmem_client_dump()