Lines Matching full:client
18 * When the client process destroys a context, it closes the connection to the
32 render_client_find_record(struct render_client *client, uint32_t ctx_id) in render_client_find_record() argument
34 list_for_each_entry (struct render_context_record, rec, &client->context_records, in render_client_find_record()
43 render_client_detach_all_records(struct render_client *client) in render_client_detach_all_records() argument
45 struct render_server *srv = client->server; in render_client_detach_all_records()
50 list_for_each_entry_safe (struct render_context_record, rec, &client->context_records, in render_client_detach_all_records()
53 list_inithead(&client->context_records); in render_client_detach_all_records()
57 render_client_remove_record(struct render_client *client, in render_client_remove_record() argument
60 struct render_server *srv = client->server; in render_client_remove_record()
69 render_client_clear_records(struct render_client *client) in render_client_clear_records() argument
71 list_for_each_entry_safe (struct render_context_record, rec, &client->context_records, in render_client_clear_records()
73 render_client_remove_record(client, rec); in render_client_clear_records()
105 render_client_create_context(struct render_client *client, in render_client_create_context() argument
109 struct render_server *srv = client->server; in render_client_create_context()
124 init_context_args(&ctx_args, client->init_flags, req, ctx_fd); in render_client_create_context()
143 list_addtail(&rec->head, &client->context_records); in render_client_create_context()
150 render_client_detach_all_records(client); in render_client_create_context()
170 render_client_dispatch_destroy_context(struct render_client *client, in render_client_dispatch_destroy_context() argument
174 struct render_context_record *rec = render_client_find_record(client, ctx_id); in render_client_dispatch_destroy_context()
176 render_client_remove_record(client, rec); in render_client_dispatch_destroy_context()
182 render_client_dispatch_create_context(struct render_client *client, in render_client_dispatch_create_context() argument
185 struct render_server *srv = client->server; in render_client_dispatch_create_context()
188 bool ok = render_client_create_context(client, &req->create_context, &remote_fd); in render_client_dispatch_create_context()
201 return render_socket_send_reply(&client->socket, &reply, sizeof(reply)); in render_client_dispatch_create_context()
203 ok = render_socket_send_reply_with_fds(&client->socket, &reply, sizeof(reply), in render_client_dispatch_create_context()
211 render_client_dispatch_reset(struct render_client *client, in render_client_dispatch_reset() argument
214 render_client_clear_records(client); in render_client_dispatch_reset()
219 render_client_dispatch_init(struct render_client *client, in render_client_dispatch_init() argument
222 client->init_flags = req->init.flags; in render_client_dispatch_init()
228 render_virgl_init(client->init_flags); in render_client_dispatch_init()
239 render_client_dispatch_nop(UNUSED struct render_client *client, in render_client_dispatch_nop() argument
247 bool (*dispatch)(struct render_client *client,
266 render_client_dispatch(struct render_client *client) in render_client_dispatch() argument
270 if (!render_socket_receive_request(&client->socket, &req, sizeof(req), &req_size)) in render_client_dispatch()
274 render_log("invalid client op %d", req.header.op); in render_client_dispatch()
281 render_log("invalid request size %zu for client op %d", req_size, req.header.op); in render_client_dispatch()
285 if (!entry->dispatch(client, &req)) in render_client_dispatch()
286 render_log("failed to dispatch client op %d", req.header.op); in render_client_dispatch()
292 render_client_destroy(struct render_client *client) in render_client_destroy() argument
294 struct render_server *srv = client->server; in render_client_destroy()
297 assert(list_is_empty(&client->context_records)); in render_client_destroy()
299 render_client_clear_records(client); in render_client_destroy()
307 render_socket_fini(&client->socket); in render_client_destroy()
308 free(client); in render_client_destroy()
314 struct render_client *client = calloc(1, sizeof(*client)); in render_client_create() local
316 if (!client) in render_client_create()
319 client->server = srv; in render_client_create()
320 render_socket_init(&client->socket, client_fd); in render_client_create()
322 list_inithead(&client->context_records); in render_client_create()
324 return client; in render_client_create()