/** called to open a channel to a remote system */
  public static void Setup(NetworkChannel chan, int sock, NetworkAddress adr, int qport) {
    // memset (chan, 0, sizeof(*chan));

    chan.clear();
    chan.sock = sock;
    chan.remote_address.set(adr);
    chan.qport = qport;
    chan.last_received = Globals.curtime;
    chan.incoming_sequence = 0;
    chan.outgoing_sequence = 1;

    chan.message = Buffer.wrap(chan.message_buf).order(ByteOrder.LITTLE_ENDIAN);
    chan.message.allowoverflow = true;
  }