code: func process1(c net.Conn, handler Function, timeout int) {
  
  	defer c.Close()
  
  	for {
  		// Set a time out (maximum time until next message)
  		c.SetReadDeadline(time.Now().Add(time.Second * time.Duration(timeout)))
  
  		// Read the incoming object
  		g := ogdl.FromBinaryReader(c)
  
  		if g == nil {
  			break
  		}
  
  		r := handler(c, g)
  
  		// Write result in binary format
  		b := r.Binary()
  		i, err := c.Write(b)
  
  		if err != nil {
  			log.Println("ogdlrf.Serve, error writing body,", err)
  			break
  		}
  		if i != len(b) {
  			log.Println("ogdlrf.Serve, error writing body, LEN is", i, "should be", len(b))
  		}
  	}
  
  	log.Println("ending Server.process and closing connection")
  }
docs: // Old format, without the initial length indicator