public int read(char[] buffer, int offset, int length) throws IOException {
   return Util.num(
           IOUtils.bridge(
               readString,
               new Value[] {
                 getHost(),
                 new SchemeString(buffer),
                 Quantity.valueOf(offset),
                 Quantity.valueOf(length)
               }))
       .intValue();
 }
 public boolean ready() throws IOException {
   return Util.truth(IOUtils.bridge(ready, getHost()));
 }
 public int read() throws IOException {
   return Util.num(IOUtils.bridge(read, getHost())).intValue();
 }
 public Pair getProcs() {
   return Util.list(read, readString, ready, close);
 }