@@ -37,30 +37,30 @@ messenger <- function(dial = NULL, listen = NULL) {
3737 return (invisible (sock ))
3838 }
3939 on.exit(expr = {
40+ s <- .Call(rnng_send , sock , as.raw(0L ), 0L )
4041 close(sock )
4142 invisible ()
4243 })
43- . <- unlist(strsplit(" nanonext messenger" , " " ))
44- .. <- . [length(. ): 1 ]
45- for (i in seq_along(.. )) {
46- cat(" \r " , `length<-`(.. , i ), sep = " " , file = stdout())
47- if (i %in% c(1 : 5 , 15 : 20 )) Sys.sleep(0.03 ) else Sys.sleep(0.01 )
48- }
49- for (i in seq_along(. )) {
50- cat(" \r " , `length<-`(. , i ), sep = " " , file = stdout())
51- if (i %in% c(1 : 5 , 15 : 20 )) Sys.sleep(0.01 ) else Sys.sleep(0.03 )
44+ intro <- unlist(strsplit(" nanonext messenger" , " " ))
45+ for (i in seq_along(intro )) {
46+ cat(" \r " , `length<-`(intro , i ), sep = " " , file = stdout())
47+ Sys.sleep(0.02 )
5248 }
5349 cat(" | type your message:\n " , file = stdout())
50+ s <- .Call(rnng_send , sock , as.raw(0L ), 0L )
51+ if (is.integer(s )) {
52+ cat(" [ peer offline ] waiting for connection...\n " , file = stdout())
53+ } else {
54+ cat(" [ peer online ] connected\n " , file = stdout())
55+ }
5456 repeat {
5557 data <- readline()
5658 if (identical(data , " :q" )) break
59+ if (identical(data , " " )) next
5760 data <- writeBin(object = data , con = raw())
58- s <- .Call(rnng_send , sock , data , FALSE )
59- if (is.integer(s )) message(sprintf(" %s [ no connection ] message not sent" , format.POSIXct(Sys.time())))
61+ s <- .Call(rnng_send , sock , data , 0L )
62+ if (is.integer(s )) message(sprintf(" %s [ peer offline ] message not sent" , format.POSIXct(Sys.time())))
6063 }
61- on.exit()
62- close(sock )
63- invisible ()
6464
6565}
6666
0 commit comments