code: func LogDownlinkFrameForDevEUI(p *redis.Pool, devEUI lorawan.EUI64, frame gw.DownlinkFrame) error {
  	c := p.Get()
  	defer c.Close()
  
  	key := fmt.Sprintf(deviceFrameLogDownlinkPubSubKeyTempl, devEUI)
  
  	b, err := proto.Marshal(&frame)
  	if err != nil {
  		return errors.Wrap(err, "marshal downlink frame error")
  	}
  
  	_, err = c.Do("PUBLISH", key, b)
  	if err != nil {
  		return errors.Wrap(err, "publish frame to device channel error")
  	}
  	return nil
  }
docs: // LogDownlinkFrameForDevEUI logs the given frame to the device pub-sub key.