@@ -57,7 +57,7 @@ send_aio.nanoSocket <- function(con, data, mode = c("serial", "raw"), timeout) {
5757 logerror(aio )
5858 return (invisible (aio ))
5959 }
60- env <- `class<-`(new.env(), " sendAio" )
60+ env <- `class<-`(new.env(hash = FALSE ), " sendAio" )
6161 result <- NULL
6262 unresolv <- TRUE
6363 makeActiveBinding(sym = " result" , fun = function (x ) {
@@ -66,6 +66,7 @@ send_aio.nanoSocket <- function(con, data, mode = c("serial", "raw"), timeout) {
6666 missing(res ) && return (.Call(rnng_aio_unresolv ))
6767 if (res ) logerror(res )
6868 result <<- res
69+ rm(" aio" , envir = env )
6970 unresolv <<- FALSE
7071 }
7172 result
@@ -89,7 +90,7 @@ send_aio.nanoContext <- function(con, data, mode = c("serial", "raw"), timeout)
8990 logerror(aio )
9091 return (invisible (aio ))
9192 }
92- env <- `class<-`(new.env(), " sendAio" )
93+ env <- `class<-`(new.env(hash = FALSE ), " sendAio" )
9394 result <- NULL
9495 unresolv <- TRUE
9596 makeActiveBinding(sym = " result" , fun = function (x ) {
@@ -98,6 +99,7 @@ send_aio.nanoContext <- function(con, data, mode = c("serial", "raw"), timeout)
9899 missing(res ) && return (.Call(rnng_aio_unresolv ))
99100 if (res ) logerror(res )
100101 result <<- res
102+ rm(" aio" , envir = env )
101103 unresolv <<- FALSE
102104 }
103105 result
@@ -120,7 +122,7 @@ send_aio.nanoStream <- function(con, data, mode = "raw", timeout) {
120122 logerror(aio )
121123 return (invisible (aio ))
122124 }
123- env <- `class<-`(new.env(), " sendAio" )
125+ env <- `class<-`(new.env(hash = FALSE ), " sendAio" )
124126 result <- NULL
125127 unresolv <- TRUE
126128 makeActiveBinding(sym = " result" , fun = function (x ) {
@@ -129,6 +131,7 @@ send_aio.nanoStream <- function(con, data, mode = "raw", timeout) {
129131 missing(res ) && return (.Call(rnng_aio_unresolv ))
130132 if (res ) logerror(res )
131133 result <<- res
134+ rm(" aio" , envir = env )
132135 unresolv <<- FALSE
133136 }
134137 result
@@ -220,7 +223,7 @@ recv_aio.nanoSocket <- function(con,
220223 logerror(aio )
221224 return (invisible (aio ))
222225 }
223- env <- `class<-`(new.env(), " recvAio" )
226+ env <- `class<-`(new.env(hash = FALSE ), " recvAio" )
224227 data <- raw <- NULL
225228 unresolv <- TRUE
226229 if (keep.raw ) {
@@ -230,19 +233,22 @@ recv_aio.nanoSocket <- function(con,
230233 missing(res ) && return (.Call(rnng_aio_unresolv ))
231234 is.integer(res ) && {
232235 data <<- raw <<- res
236+ rm(" aio" , envir = env )
233237 unresolv <<- FALSE
234238 logerror(res )
235239 return (invisible (data ))
236240 }
237241 on.exit(expr = {
238242 raw <<- res
243+ rm(" aio" , envir = env )
239244 unresolv <<- FALSE
240245 return (res )
241246 })
242247 data <- decode(con = res , mode = mode )
243248 on.exit()
244249 raw <<- res
245250 data <<- data
251+ rm(" aio" , envir = env )
246252 unresolv <<- FALSE
247253 }
248254 raw
@@ -254,19 +260,22 @@ recv_aio.nanoSocket <- function(con,
254260 missing(res ) && return (.Call(rnng_aio_unresolv ))
255261 is.integer(res ) && {
256262 data <<- raw <<- res
263+ rm(" aio" , envir = env )
257264 unresolv <<- FALSE
258265 logerror(res )
259266 return (invisible (data ))
260267 }
261268 on.exit(expr = {
262269 data <<- res
270+ rm(" aio" , envir = env )
263271 unresolv <<- FALSE
264272 return (res )
265273 })
266274 data <- decode(con = res , mode = mode )
267275 on.exit()
268276 if (keep.raw ) raw <<- res
269277 data <<- data
278+ rm(" aio" , envir = env )
270279 unresolv <<- FALSE
271280 }
272281 data
@@ -294,7 +303,7 @@ recv_aio.nanoContext <- function(con,
294303 logerror(aio )
295304 return (invisible (aio ))
296305 }
297- env <- `class<-`(new.env(), " recvAio" )
306+ env <- `class<-`(new.env(hash = FALSE ), " recvAio" )
298307 data <- raw <- NULL
299308 unresolv <- TRUE
300309 if (keep.raw ) {
@@ -304,19 +313,22 @@ recv_aio.nanoContext <- function(con,
304313 missing(res ) && return (.Call(rnng_aio_unresolv ))
305314 is.integer(res ) && {
306315 data <<- raw <<- res
316+ rm(" aio" , envir = env )
307317 unresolv <<- FALSE
308318 logerror(res )
309319 return (invisible (data ))
310320 }
311321 on.exit(expr = {
312322 raw <<- res
323+ rm(" aio" , envir = env )
313324 unresolv <<- FALSE
314325 return (res )
315326 })
316327 data <- decode(con = res , mode = mode )
317328 on.exit()
318329 raw <<- res
319330 data <<- data
331+ rm(" aio" , envir = env )
320332 unresolv <<- FALSE
321333 }
322334 raw
@@ -328,19 +340,22 @@ recv_aio.nanoContext <- function(con,
328340 missing(res ) && return (.Call(rnng_aio_unresolv ))
329341 is.integer(res ) && {
330342 data <<- raw <<- res
343+ rm(" aio" , envir = env )
331344 unresolv <<- FALSE
332345 logerror(res )
333346 return (invisible (data ))
334347 }
335348 on.exit(expr = {
336349 data <<- res
350+ rm(" aio" , envir = env )
337351 unresolv <<- FALSE
338352 return (res )
339353 })
340354 data <- decode(con = res , mode = mode )
341355 on.exit()
342356 if (keep.raw ) raw <<- res
343357 data <<- data
358+ rm(" aio" , envir = env )
344359 unresolv <<- FALSE
345360 }
346361 data
@@ -369,7 +384,7 @@ recv_aio.nanoStream <- function(con,
369384 logerror(aio )
370385 return (invisible (aio ))
371386 }
372- env <- `class<-`(new.env(), " recvAio" )
387+ env <- `class<-`(new.env(hash = FALSE ), " recvAio" )
373388 data <- raw <- NULL
374389 unresolv <- TRUE
375390 if (keep.raw ) {
@@ -379,19 +394,22 @@ recv_aio.nanoStream <- function(con,
379394 missing(res ) && return (.Call(rnng_aio_unresolv ))
380395 is.integer(res ) && {
381396 data <<- raw <<- res
397+ rm(" aio" , envir = env )
382398 unresolv <<- FALSE
383399 logerror(res )
384400 return (invisible (data ))
385401 }
386402 on.exit(expr = {
387403 raw <<- res
404+ rm(" aio" , envir = env )
388405 unresolv <<- FALSE
389406 return (res )
390407 })
391408 data <- decode(con = res , mode = mode )
392409 on.exit()
393410 raw <<- res
394411 data <<- data
412+ rm(" aio" , envir = env )
395413 unresolv <<- FALSE
396414 }
397415 raw
@@ -403,19 +421,22 @@ recv_aio.nanoStream <- function(con,
403421 missing(res ) && return (.Call(rnng_aio_unresolv ))
404422 is.integer(res ) && {
405423 data <<- raw <<- res
424+ rm(" aio" , envir = env )
406425 unresolv <<- FALSE
407426 logerror(res )
408427 return (invisible (data ))
409428 }
410429 on.exit(expr = {
411430 data <<- res
412431 unresolv <<- FALSE
432+ rm(" aio" , envir = env )
413433 return (res )
414434 })
415435 data <- decode(con = res , mode = mode )
416436 on.exit()
417437 if (keep.raw ) raw <<- res
418438 data <<- data
439+ rm(" aio" , envir = env )
419440 unresolv <<- FALSE
420441 }
421442 data
@@ -543,10 +564,7 @@ stop_aio <- function(aio) {
543564# '
544565unresolved <- function (aio ) {
545566
546- {inherits(aio , " unresolvedValue" ) ||
547- inherits(aio , " recvAio" ) && inherits(.subset2(aio , " data" ), " unresolvedValue" ) ||
548- inherits(aio , " sendAio" ) && inherits(.subset2(aio , " result" ), " unresolvedValue" )} &&
549- return (TRUE )
567+ .Call(rnng_unresolved , aio )
550568
551569}
552570
0 commit comments