Nothing
context("Nonblocking connection")
test_that("Non blocking connections ", {
h <- new_handle()
con <- curl(httpbin("drip?duration=3&numbytes=50&code=200"), handle = h)
expect_equal(handle_data(h)$status_code, 0L)
open(con, "rb", blocking = FALSE)
expect_equal(handle_data(h)$status_code, 200L)
n <- 0
while(isIncomplete(con)){
Sys.sleep(0.01)
buf <- readBin(con, raw(), 5)
n <- n + length(buf)
}
expect_equal(n, 50L)
rm(h)
close(con)
gc()
expect_equal(total_handles(), 0L)
})
test_that("Non blocking readline", {
con <- curl(httpbin("stream/71"))
open(con, "r", blocking = FALSE)
n <- 0
while(isIncomplete(con)){
buf <- readLines(con, 5)
n <- n + length(buf)
}
expect_equal(n, 71L)
close(con)
gc()
expect_equal(total_handles(), 0L)
})
test_that("isIncomplete for blocking connections", {
con <- curl(httpbin("stream/71"))
expect_false(isIncomplete(con))
expect_equal(length(readLines(con)), 71L)
expect_false(isIncomplete(con))
open(con)
expect_true(isIncomplete(con))
n <- 0
while(isIncomplete(con)){
buf <- readLines(con, 5)
n <- n + length(buf)
}
expect_equal(n, 71L)
close(con)
gc()
expect_equal(total_handles(), 0L)
})
test_that("Small buffers", {
con <- curl(httpbin(""))
expect_false(isIncomplete(con = con))
open(con)
on.exit(close(con), add = TRUE)
expect_true(isIncomplete(con = con))
readLines(con, 1)
expect_true(isIncomplete(con = con))
readLines(con, warn = FALSE)
expect_false(isIncomplete(con = con))
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.