Peter Johnson
86c43df8d1
Fix connection notification races. ( #130 )
...
Use a mutex on the connection state and one-shot all change notifications.
Fixes #127 .
2016-10-21 19:40:56 -07:00
Peter Johnson
5c1b7ecd17
Change debug strip to be part of link task (as doLast). ( #134 )
...
This avoids spurious re-linking.
2016-10-21 19:18:32 -07:00
Peter Johnson
011ac1fa22
Java: Allow any Number type (not just Double) to be passed to putValue(). ( #129 )
...
Also improve exception message.
Fixes #72 .
2016-10-21 19:17:50 -07:00
Fred Silberberg
b8e5258cf3
Creates the build dir if it doesn't exist, and deletes the version files during clean' ( #131 )
2016-10-20 22:41:40 -07:00
Fred Silberberg
56179088bb
Updated the gradle build to get the version from the WPILibVersioning plugin ( #123 )
...
* Updated the gradle build to get the version from the WPILibVersioning plugin
* Added version output for downstream projects
* Fixed non-arm build.
2016-10-20 21:34:14 -07:00
Thad House
780e9580b7
Ignores KeepAlive messages during initial handshakes ( #128 )
...
Shouldn't happen normally, but could happen if handshakes take a longer
then normal period of time.
Closes #126
2016-10-19 22:47:33 -07:00
Thad House
b775b01e0a
Optimizes NetworkTables string concatenation ( #125 )
...
During testing, I was seeing a lot of unnecessary code (and allocations
in Java/C#) when appending the path separator to the base path. That
technically is a constant, so this computes this constant during class
construction.
2016-10-17 22:33:59 -07:00
Dustin Spicuzza
89805a44c1
Fix NetworkTable::setFlag typo ( #124 )
2016-10-16 17:28:35 -07:00
Peter Johnson
f6df7cad9b
Add raw_fd_istream. ( #121 )
2016-10-08 16:03:33 -07:00
Peter Johnson
cc1b94afd2
TCPStream: Avoid SIGPIPE signals.
...
On Mac, this is done by setting SO_NOSIGPIPE on the socket.
On Linux, this is done with MSG_NOSIGNAL on the send call.
2016-10-08 16:02:55 -07:00
Thad House
a7eca7d4bd
Adds ConnectionInfo to Rpc callback ( #116 )
2016-10-03 10:04:30 -07:00
Thad House
9047c98e68
Fixes possible indefinite timeout on multiple RPC calls ( #120 )
...
Calculates timeout before the RPC call checks ever loop.
2016-09-30 12:41:52 -07:00
Peter Johnson
53d0789660
Storage: Escape equal sign in strings. ( #119 )
...
This helps interoperability with standard config parser libraries
(such as Python's RawConfigParser).
2016-09-29 20:16:32 -07:00
Peter Johnson
1affae956b
Make raw_socket_istream constructor explicit.
2016-09-25 19:48:49 -07:00
Peter Johnson
d3ed26f7cc
Logger: Use raw_ostream and SmallString.
2016-09-25 19:48:49 -07:00
Peter Johnson
1ec89fc4f3
Add raw_socket_ostream.
...
This wraps NetworkStream in a llvm::raw_ostream.
2016-09-25 19:48:49 -07:00
Peter Johnson
de07b01a75
Add 1-character read to raw_istream.
2016-09-25 19:48:49 -07:00
Peter Johnson
c2ae897b02
Change API of raw_istream to be more similar to raw_ostream.
2016-09-25 19:48:49 -07:00
Peter Johnson
94c2b65798
Refactor JNI helpers into wpiutil (support/jni_util.h). ( #105 )
2016-09-25 19:29:17 -07:00
Peter Johnson
3a419768ca
Make SafeThread header-only. ( #117 )
2016-09-25 18:21:29 -07:00
Peter Johnson
ee42448504
Update to latest LLVM code ( #88 )
...
* Update to latest LLVM code.
* Add LLVM's raw_ostream.
* MathExtras.h: Include cmath for log2.
2016-09-25 17:49:01 -07:00
Peter Johnson
f6b700ea97
Move common utility classes to wpiutil library. ( #79 )
...
This is a breaking change to dependencies that use the static ntcore
library. Unless the wpiutil library is also linked, linker errors will
result. This does not affect the shared ntcore library.
2016-09-25 17:23:39 -07:00
Thad House
80e546b79f
Adds a way to externally test C structures ( #115 )
...
For language interop, its nice to be able to create the structs from the
C side to make sure everything works properly.
2016-09-18 21:48:17 -07:00
Thad House
e952236e1a
Reverts the last 2 Rpc changes ( #114 )
...
* Revert "Fully asigns the ConnectionInfo struct (#113 )"
This reverts commit 9a3100b221 .
* Revert "Passes the ConnectionInfo of the Rpc client on server callback (#112 )"
This reverts commit 7e9754acff .
2016-09-16 22:23:58 -07:00
Thad House
9a3100b221
Fully asigns the ConnectionInfo struct ( #113 )
...
For some reason, it was putting garbage in for the things that shouldn't
have been, which doesn't make much sense.
2016-09-16 21:56:57 -07:00
Thad House
7e9754acff
Passes the ConnectionInfo of the Rpc client on server callback ( #112 )
2016-09-16 20:20:55 -07:00
Thad House
c5c069743b
Switches AppVeyor to use same build for 32 and 64 bit java tests ( #107 )
2016-09-09 12:09:53 -07:00
Thad House
3888d7726a
Adds connection listeners that can be called statically ( #111 )
...
This way you can have a connection listener before initializing NetworkTables.
2016-09-06 21:30:59 -07:00
Thad House
fc48944b47
Fixes Rpc Cancel. Check was only in timeout case instead of global ( #110 )
2016-09-02 19:28:59 -07:00
Thad House
2150f5879b
Adds AppVeyor support for VS 2013 and 2015 ( #106 )
2016-08-30 22:04:19 -07:00
Thad House
85156d15ca
Fixes the final issue with VS 2013 builds ( #109 )
2016-08-30 21:27:48 -07:00
Thad House
ade4e87d6f
Fixes support for MSVC 2013 ( #104 )
2016-08-28 19:17:31 -07:00
Peter Johnson
8007a7b153
Correctly handle UTF8 Java translation for StringArray. ( #103 )
2016-08-26 21:55:11 -07:00
Fred Silberberg
075155b431
More gradle 3.0 additions ( #102 )
2016-08-22 20:59:50 -07:00
Fred Silberberg
e653a228fa
Updates gradle to 3.0. Now that the check bug is fixed, removes the empty check tasks. ( #101 )
2016-08-21 11:16:33 -04:00
Thad House
7845caa100
Fixes GetRpcResult not removing calluid from call list on non blocking call ( #100 )
2016-08-19 21:48:30 -07:00
Thad House
66d214c8a8
Finishes blocking call canceling ( #99 )
2016-08-18 00:05:06 -07:00
Thad House
277cf2a08f
Removes new line from mdns name ( #98 )
...
Closes #97
2016-08-17 21:21:55 -07:00
Thad House
7bf44e951c
Fixes server side polled rpcs ( #96 )
2016-08-16 23:32:13 -07:00
Thad House
c0ce4270f0
Adds a way to cancel a blocking rpc call ( #94 )
2016-08-16 23:31:45 -07:00
Thad House
d6e8de21ef
Fixes rpc timeouts and blocking call list error ( #95 )
2016-08-16 23:31:01 -07:00
Peter Johnson
1635cba827
Reduced minimum update rate from 100 ms to 10 ms. ( #89 )
2016-08-16 12:07:17 -07:00
Thad House
a786470623
Only allows 1 blocking call per Rpc Call Id ( #93 )
2016-08-15 22:46:49 -07:00
Thad House
4164e670d2
Adds Visual Studio Code files to gitignore ( #92 )
2016-08-15 22:44:36 -07:00
Peter Johnson
062470ef68
Add llvm::SmallSet. ( #90 )
2016-08-15 22:05:47 -07:00
Thad House
0b80bd2b09
Adds timeout capabilities to blocking Rpc Calls ( #86 )
2016-08-15 20:24:07 -07:00
Thad House
bc99d341fb
Changes remote_name to remote_ip ( #87 )
...
Was confusing, as remote_name seemed like a name but wasn't.
Also changes remote_ip in the C api to use an NT_String
2016-08-07 16:38:20 -05:00
Fredric Silberberg
0f9f7309e3
Sets the duplicate strategy to exclude in all zip tasks ( #85 )
2016-07-30 23:07:21 -05:00
Peter Johnson
30fbfe46e6
Create dummy wpiutil library. ( #84 )
...
This will allow dependencies such as wpilibc to update to use wpiutil
without breaking "normal" ntcore static library use in the meantime.
This commit also restructures the gradle files by creating a new
(placeholder) wpiutil project, and moving the ntcore project into
a separate gradle file. Added toolchains/native.gradle (refactored from
ntcore).
Also fixes ntcore skipJava on Windows by providing an alternate .def file
for this case.
2016-07-27 22:18:56 -05:00
Peter Johnson
a73166a665
Make many more utility classes/headers public. ( #76 )
...
Moving these headers from src to include enables other libraries to use the
functionality provided.
* tcpsockets
* atomic_static
* raw_istream
* timestamp
* SafeThread
* Base64
* LEB128
* ConcurrentQueue
The classes have been moved into the wpi namespace as they're generic.
2016-07-27 00:39:38 -07:00