code: func write(store, key string, m packets.ControlPacket) {
  	temppath := tmppath(store, key)
  	f, err := os.Create(temppath)
  	chkerr(err)
  	werr := m.Write(f)
  	chkerr(werr)
  	cerr := f.Close()
  	chkerr(cerr)
  	rerr := os.Rename(temppath, fullpath(store, key))
  	chkerr(rerr)
  }
docs: // create file called "X.[messageid].tmp" located in the store
  // the contents of the file is the bytes of the message, then
  // rename it to "X.[messageid].msg", overwriting any existing
  // message with the same id
  // X will be 'i' for inbound messages, and O for outbound messages