Commit Graph

1370 Commits

Author SHA1 Message Date
tidwall c0d1fdf1ee Update the client libraries 2021-07-08 06:46:13 -07:00
Mike 1867841406 Update README.md 2021-07-08 06:46:13 -07:00
tidwall af4a56d534 1.23.0 2021-07-08 06:46:13 -07:00
tidwall b5691f7dd5 Allow for all command types for roaming event
Prior to this commit roaming geofences only registered changes to
the SET command. Now it will work for SET/DEL/FSET, just like
non-roaming geofences.

To opt out of these events, explicitly choose which event you
would like to register when you create the geofences.

For example:

  NEARBY fleet FENCE COMMANDS set,del ROAM fleet * 5000

Will only fire off events from SET and DEL command.

Closes #597
2021-07-08 06:46:13 -07:00
tidwall 189de6496a Update BuntDB 2021-07-08 06:46:13 -07:00
tidwall 6bb9f8f54c Remove deprecated function
Go recommends not calling BuildNameToCertificate and to allow
for the names to be selected automatically.
2021-07-08 06:46:12 -07:00
tidwall 58221adccb Code cleanup
- Removed unused functions and variables
- Wrapped client formatted errors
- Updated deprecated packages
- Changed suggested code patterns
2021-07-08 06:46:08 -07:00
tidwall 6a55c8de8f fix: distance if point and object have the same coordinates 2021-07-08 06:45:31 -07:00
tidwall eb407ab125 Fix invalid queue.db error 2021-07-08 06:36:45 -07:00
tidwall 901919c4e3 Include "distance" to output when user specifically requests
fixes #599
2021-07-08 06:36:45 -07:00
tidwall dd26839351 Fix tile38-cli output showing protocol size when piping
fixes #603
2021-07-08 06:36:45 -07:00
tidwall 5bbe2c3166 Upgrade go.mod 2021-07-08 06:36:41 -07:00
tidwall 657bbd80ca Upgrade gjson 2021-07-08 06:36:23 -07:00
Josh Baker c47a565aa9 Create FUNDING.yml 2021-07-08 06:36:10 -07:00
Benjamin Ramser 8234f6dc6d refactor: dont set client id 2021-07-08 06:36:10 -07:00
tidwall b64c87004f Expose log output writer 2021-07-08 06:36:10 -07:00
Benjamin Ramser 248c3d8b72 add kafka tls config
fix endpoint, add logging to tlsconfig creation

add logging if log.Level > 2
2021-07-08 06:36:10 -07:00
tidwall 5f0e69ca7a 1.22.6 2021-07-08 06:36:10 -07:00
tidwall 60678020fa Updated dependencies 2021-07-08 06:36:10 -07:00
tidwall d209edbd59 Updated rtree library 2021-07-08 06:36:10 -07:00
tidwall afd51f5dae Updated rtree library 2021-07-08 06:36:10 -07:00
tidwall 094d35757c Various updates
- Updated all dependencies
- Updated geoindex Box api
2021-07-08 06:36:05 -07:00
tidwall c313a63603 Updated packages 2021-07-08 06:35:43 -07:00
tidwall f44bae43ca Replace tinybtree 2021-07-08 06:35:15 -07:00
tidwall 20ee5e3396 Revert logo 2021-07-08 06:35:06 -07:00
tidwall 3a24f218cc Add light/dark logos 2021-07-08 06:35:06 -07:00
tidwall b8fabc2771 Add safe border around logo 2021-07-08 06:35:06 -07:00
tidwall dbe1aac443 Vector logo with dark mode 2021-07-08 06:35:06 -07:00
Josh Baker 59f202562b Update config.yml 2021-07-08 06:35:06 -07:00
Josh Baker 4f36dbede7 Create config.yml 2021-07-08 06:35:06 -07:00
Josh Baker b0f2dbdaee Update README.md
Update slack link
2021-07-08 06:35:06 -07:00
tidwall 4c46eba75d Better handle connection errors in tile38-cli
This commit fixes an issue with the tile38-cli where it will
continually print "Could not connect to Tile38..." when it was
unable to connect to the tile38-server.

It now cleanly prints the message only once.
2021-07-08 06:35:06 -07:00
tidwall 6dc4274373 1.22.5 2021-07-08 06:35:06 -07:00
tidwall 67f443dbbd Fixed fields being shuffled after AOFSHRINK 2021-07-08 06:35:06 -07:00
tidwall 118a5fa23c 1.22.4 2021-07-08 06:35:06 -07:00
tidwall 07dc10262a Added ENV var for 500 http errors 2021-07-08 06:35:06 -07:00
tidwall 023115972f enable fence tests 2021-07-08 06:35:06 -07:00
tidwall 55312a1051 Updated Github Action files
Disabled some fence tests due to them hanging and
timing out in the Github Actions workflow, which is
something that did not happen with Travis CI.

I suspect that there's something up with Go routines
and or num of CPUs in the GH virtual environment.

Tests pass locally though
2021-07-08 06:35:06 -07:00
Josh Baker 1205a4b8e4 Update go.yml 2021-07-08 06:35:06 -07:00
Josh Baker 325da8172d Update go.yml 2021-07-08 06:35:06 -07:00
Josh Baker e9f88aa09c Update go.yml 2021-07-08 06:35:06 -07:00
Josh Baker 6ae1b55ab5 Create go.yml 2021-07-08 06:35:06 -07:00
Josh Baker adc4298c0a Delete .travis.yml 2021-07-08 06:35:06 -07:00
Josh Baker 1d2323bbfd Update README.md 2021-07-08 06:35:06 -07:00
tidwall 1ff91b753f 1.22.3 2021-07-08 06:35:06 -07:00
tidwall 076cd4b009 Updated btree deps 2021-07-08 06:35:01 -07:00
tidwall 9d9c2b9aeb Optimization for non-cross geofence detection
This commit fixes a performance issue with the algorithm that
determines with geofences are potential candidates for
notifications following a SET operation.

Details

Prior to commit b471873 (10 commits ago) there was a bug where
the "cross" detection was not firing in all cases. This happened
because when looking for candidates for "cross" due to a SET
operation, only the geofences that overlapped the previous
position of the object and the geofences that overlapped the new
position where searched. But, in fac, all of the geofences that
overlapped the union rectangle of the old and new position should
have been searched.

That commit fixed the problem by searching a union rect of the
old and new positions. While this is an accurate solution, it
caused a slowdown on systems that have big/wild position changes
that might cross a huge number of geofences, even when those
geofences did not need actually need "cross" detection.

The fix

With this commit the geofences that have a "cross" detection
are stored in a seperated tree from those that do not. This
allows for a hybrid of the functionality prior and post b471873.

Fixes #583
2021-07-08 06:34:47 -07:00
tidwall 14c553c9c5 Added tests 2021-07-08 06:34:47 -07:00
tidwall 28d11215d8 1.22.2 2021-07-08 06:34:47 -07:00
tidwall 2eb6da5f21 Truncate trailing zeros from AOF at startup
This commit addresses issue #230, where an AOF file will sometimes
not load due to the file being padded with trailing zeros. It's
uncertain what is causing this corruption, but it appears to be
coming from outside of the tile38-server process. I suspect it's
due to some block store layer in Kubernetes/Docker cloud
environments.

This fix allows for Tile38 to start up by discovering the trailing
zeros while loading the AOF and safely truncating the file as to
not include the zeros in the future.
2021-07-08 06:34:47 -07:00