static bool _mongoc_stream_tls_check_closed (mongoc_stream_t *stream) /* IN */ { mongoc_stream_tls_t *tls = (mongoc_stream_tls_t *)stream; bson_return_val_if_fail(stream, -1); return mongoc_stream_check_closed (tls->base_stream); }
static bool _mongoc_stream_tls_secure_transport_check_closed ( mongoc_stream_t *stream) /* IN */ { mongoc_stream_tls_t *tls = (mongoc_stream_tls_t *) stream; mongoc_stream_tls_secure_transport_t *secure_transport = (mongoc_stream_tls_secure_transport_t *) tls->ctx; ENTRY; BSON_ASSERT (secure_transport); RETURN (mongoc_stream_check_closed (tls->base_stream)); }
static void * socket_test_client (void *data_) { socket_test_data_t *data = (socket_test_data_t *)data_; mongoc_socket_t *conn_sock; char buf[5]; ssize_t r; bool closed; struct sockaddr_in server_addr = { 0 }; mongoc_stream_t *stream; mongoc_iovec_t iov; iov.iov_base = buf; iov.iov_len = sizeof (buf); conn_sock = mongoc_socket_new (AF_INET, SOCK_STREAM, 0); assert (conn_sock); mongoc_mutex_lock(&data->cond_mutex); while (! data->server_port) { mongoc_cond_wait(&data->cond, &data->cond_mutex); } mongoc_mutex_unlock(&data->cond_mutex); server_addr.sin_family = AF_INET; server_addr.sin_port = htons(data->server_port); server_addr.sin_addr.s_addr = htonl(INADDR_LOOPBACK); r = mongoc_socket_connect (conn_sock, (struct sockaddr *)&server_addr, sizeof(server_addr), -1); assert (r == 0); stream = mongoc_stream_socket_new (conn_sock); strcpy (buf, "ping"); closed = mongoc_stream_check_closed (stream); assert (closed == false); r = mongoc_stream_writev (stream, &iov, 1, TIMEOUT); assert (r == 5); closed = mongoc_stream_check_closed (stream); assert (closed == false); r = mongoc_stream_readv (stream, &iov, 1, 5, TIMEOUT); assert (r == 5); assert (strcmp (buf, "pong") == 0); mongoc_mutex_lock(&data->cond_mutex); while (! data->closed_socket) { mongoc_cond_wait(&data->cond, &data->cond_mutex); } mongoc_mutex_unlock(&data->cond_mutex); closed = mongoc_stream_check_closed (stream); assert (closed == true); mongoc_stream_destroy (stream); return NULL; }
static bool _mongoc_stream_debug_check_closed (mongoc_stream_t *stream) { return mongoc_stream_check_closed ( ((mongoc_stream_debug_t *) stream)->wrapped); }