@@ -45,9 +45,7 @@ context <- function(socket) {
4545
4646 if (is.environment(socket )) socket <- .subset2(socket , " socket" )
4747 res <- .Call(rnng_ctx_open , socket )
48- if (is.integer(res )) {
49- message(Sys.time(), " [ " , res , " ] " , nng_error(res ))
50- }
48+ if (is.integer(res )) logerror(res )
5149 res
5250
5351}
@@ -87,12 +85,10 @@ send_ctx <- function(context, data, mode = c("serial", "raw"), timeout, echo = T
8785 mode <- match.arg(mode )
8886 if (missing(timeout )) timeout <- - 2L
8987 force(data )
90- data <- switch (mode ,
91- serial = serialize(object = data , connection = NULL ),
92- raw = if (is.raw(data )) data else writeBin(object = data , con = raw()))
88+ data <- encode(data = data , mode = mode )
9389 res <- .Call(rnng_ctx_send , context , data , timeout )
9490 is.integer(res ) && {
95- message(Sys.time(), " [ " , res , " ] " , nng_error( res ) )
91+ logerror( res )
9692 return (invisible (res ))
9793 }
9894 if (missing(echo ) || isTRUE(echo )) res else invisible (0L )
@@ -144,15 +140,11 @@ recv_ctx <- function(context,
144140 if (missing(timeout )) timeout <- - 2L
145141 res <- .Call(rnng_ctx_recv , context , timeout )
146142 is.integer(res ) && {
147- message(Sys.time(), " [ " , res , " ] " , nng_error( res ) )
143+ logerror( res )
148144 return (invisible (`class<-`(res , " errorValue" )))
149145 }
150146 on.exit(expr = return (res ))
151- data <- switch (mode ,
152- serial = unserialize(connection = res ),
153- character = (r <- readBin(con = res , what = mode , n = length(res )))[r != " " ],
154- raw = res ,
155- readBin(con = res , what = mode , n = length(res )))
147+ data <- decode(con = res , mode = mode )
156148 on.exit()
157149 missing(data ) && return (.Call(rnng_scm ))
158150 if (missing(keep.raw ) || isTRUE(keep.raw )) list (raw = res , data = data ) else data
@@ -230,23 +222,17 @@ reply <- function(context,
230222 if (missing(timeout )) timeout <- - 2L
231223 res <- .Call(rnng_ctx_recv , context , timeout )
232224 is.integer(res ) && {
233- message(Sys.time(), " [ " , res , " ] " , nng_error( res ) )
225+ logerror( res )
234226 return (invisible (`class<-`(res , " errorValue" )))
235227 }
236228 on.exit(expr = send_aio(context , as.raw(0L ), mode = send_mode ))
237- data <- switch (recv_mode ,
238- serial = unserialize(connection = res ),
239- character = (r <- readBin(con = res , what = recv_mode , n = length(res )))[r != " " ],
240- raw = res ,
241- readBin(con = res , what = recv_mode , n = length(res )))
229+ data <- decode(con = res , mode = recv_mode )
242230 data <- execute(data , ... )
243- data <- switch (send_mode ,
244- serial = serialize(object = data , connection = NULL ),
245- raw = if (is.raw(data )) data else writeBin(object = data , con = raw()))
231+ data <- encode(data = data , mode = send_mode )
246232 on.exit()
247233 res <- .Call(rnng_ctx_send , context , data , timeout )
248234 is.integer(res ) && {
249- message(Sys.time(), " [ " , res , " ] " , nng_error( res ) )
235+ logerror( res )
250236 return (invisible (res ))
251237 }
252238 invisible (0L )
@@ -312,18 +298,16 @@ request <- function(context,
312298 keep.raw <- missing(keep.raw ) || isTRUE(keep.raw )
313299 if (missing(timeout )) timeout <- - 2L
314300 force(data )
315- data <- switch (send_mode ,
316- serial = serialize(object = data , connection = NULL ),
317- raw = if (is.raw(data )) data else writeBin(object = data , con = raw()))
301+ data <- encode(data = data , mode = send_mode )
318302 res <- .Call(rnng_send_aio , context , data , - 2L )
319303 is.integer(res ) && {
320- message(Sys.time(), " [ " , res , " ] " , nng_error( res ) )
304+ logerror( res )
321305 return (invisible (res ))
322306 }
323307
324308 aio <- .Call(rnng_recv_aio , context , timeout )
325309 is.integer(aio ) && {
326- message(Sys.time(), " [ " , aio , " ] " , nng_error( aio ) )
310+ logerror( aio )
327311 return (invisible (`class<-`(aio , " errorValue" )))
328312 }
329313 env <- `class<-`(new.env(), " recvAio" )
@@ -335,19 +319,15 @@ request <- function(context,
335319 missing(res ) && return (.Call(rnng_aio_unresolv ))
336320 is.integer(res ) && {
337321 data <<- raw <<- resolv <<- `class<-`(res , " errorValue" )
338- message(Sys.time(), " [ " , res , " ] " , nng_error( res ) )
322+ logerror( res )
339323 return (invisible (resolv ))
340324 }
341325 on.exit(expr = {
342326 raw <<- res
343327 resolv <<- 0L
344328 return (res )
345329 })
346- data <- switch (recv_mode ,
347- serial = unserialize(connection = res ),
348- character = (r <- readBin(con = res , what = recv_mode , n = length(res )))[r != " " ],
349- raw = res ,
350- readBin(con = res , what = recv_mode , n = length(res )))
330+ data <- decode(con = res , mode = recv_mode )
351331 on.exit()
352332 raw <<- res
353333 data <<- data
@@ -362,19 +342,15 @@ request <- function(context,
362342 missing(res ) && return (.Call(rnng_aio_unresolv ))
363343 is.integer(res ) && {
364344 data <<- raw <<- resolv <<- `class<-`(res , " errorValue" )
365- message(Sys.time(), " [ " , res , " ] " , nng_error( res ) )
345+ logerror( res )
366346 return (invisible (resolv ))
367347 }
368348 on.exit(expr = {
369349 data <<- res
370350 resolv <<- 0L
371351 return (res )
372352 })
373- data <- switch (recv_mode ,
374- serial = unserialize(connection = res ),
375- character = (r <- readBin(con = res , what = recv_mode , n = length(res )))[r != " " ],
376- raw = res ,
377- readBin(con = res , what = recv_mode , n = length(res )))
353+ data <- decode(con = res , mode = recv_mode )
378354 on.exit()
379355 if (keep.raw ) raw <<- res
380356 data <<- data
0 commit comments