Thad House
1243cf04ea
Adds new build system to repo ( #1 )
2017-07-28 07:29:49 -07:00
Thad House
4f5b5b1377
Adds gmock files
2017-07-27 00:04:00 -07:00
Thad House
067b1f3ee0
Adds a way to get the native handle from SafeThread ( #198 )
...
Useful to wpilib to enable easier changing of RT priorities.
2017-05-09 22:04:57 -07:00
Thad House
9a2ec13ba4
Fixes SetIntArrayRegion template for windows builds ( #178 )
2017-01-02 22:29:56 -08:00
Peter Johnson
e3f99a4a22
JStringRef: ensure string is null terminated so c_str() works correctly.
2016-12-26 14:13:15 -08:00
Peter Johnson
95ad4783f1
Revert "Fixes TCPAcceptor able to use an empty string ( #172 )"
...
This doesn't actually do anything since the outer if statement checks
for empty m_address already.
This reverts commit 6ad9f45d9a .
2016-12-26 13:55:21 -08:00
Thad House
9a0a1baa6b
Fixes TCPAcceptor able to use an empty string ( #172 )
2016-12-26 12:27:08 -08:00
Peter Johnson
976ca80056
Use InetNtop on Win32 rather than WSAAddressToString. ( #170 )
...
Similarly, use InetPton rather than WSAStringToAddress.
The WSAAddressToString function is intended to provide a user-readable
string and thus includes the port number. This breaks some use cases
on Windows which expect to get just the IP address.
Note: The InetPton and InetNtop functions are available only in Vista or above.
2016-12-25 01:30:12 -08:00
Peter Johnson
8c7338f2ba
TCPAcceptor: Include port number in error messages. ( #166 )
2016-12-23 20:36:45 -06:00
Peter Johnson
bb9f5b7491
jni_util: Add JException wrapper class.
...
This allows more natural C++ Throw semantics (for a variety of string
data types) for any java exception that just takes a String argument.
2016-12-15 21:54:36 -08:00
Peter Johnson
57d053a8fb
jni_util: Make JStringRef and JArrayRef null-safe.
...
They return empty string and empty array (to avoid crashes) but also
report an error with backtrace to stderr when called in that manner.
2016-12-14 23:59:06 -08:00
Peter Johnson
0e43765c53
jni_util: Add GetJavaStackTrace.
2016-12-14 23:59:02 -08:00
Peter Johnson
12aee3e022
Make JLocal and JArrayRef movable but non-copyable.
2016-12-14 23:29:23 -08:00
Peter Johnson
498a8e2b7d
Fix JArrayRef DirectBuffer destructor.
...
Previously it would try to release array elements even if the DirectBuffer
constructor was used.
2016-12-14 23:29:23 -08:00
Peter Johnson
4568156bdf
Make JClass more useful and use it in ntcore JNI.
2016-12-14 23:29:18 -08:00
Peter Johnson
558b2ffa41
NetworkStream: Add setBlocking() and getNativeHandle(). ( #161 )
...
Also add checking for "would block" errors in send() and receive().
Check for set nonblocking failures in TCPConnector as well (generate warnings rather than errors)
2016-11-27 19:59:52 -08:00
Austin Schuh
00b76d42e0
Fixed unused variable warning from gcc. ( #159 )
...
This makes it so that ntcore builds with -Wextra -Werror
2016-11-26 16:28:50 -08:00
Thad House
2657d89178
Adds a c_str method to StringRef ( #155 )
...
The StringRef class does not ensure the string is null terminated. As there is
no defined way to actually check for a null terminator, we determine
if it is null terminated based on the constructor type. Then if on c_str
it is not known to be null terminated, we use a passed in buffer to copy
the string and ensure null termination.
2016-11-14 22:51:52 -08:00
Peter Johnson
b12658afc2
Make SafeThreadOwner moveable. ( #153 )
...
This allows it to be used in data structures such as std::vector.
Also make GetThread() const.
2016-11-11 22:18:52 -08:00
Thad House
3d1f69075a
Adds a size parameter to JStringRef ( #152 )
...
Want to use that for some allwpilib JNI cleanups and potential bug fixes
2016-11-07 19:35:48 -08:00
Peter Johnson
28c8678ea2
SafeThread: Use atomic for m_active.
2016-11-04 23:39:09 -07:00
Thad House
d1065f0bd1
Moves deprecation definition to wpiutil ( #149 )
2016-11-03 20:08:47 -07:00
Peter Johnson
e4234f5198
raw_istream: Add std::istream style in_avail(). ( #135 )
2016-10-21 22:50:38 -07:00
Peter Johnson
7b3f6eeae2
Add raw_fd_istream. ( #121 )
2016-10-08 16:03:33 -07:00
Peter Johnson
15cb505163
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
Peter Johnson
d4bbd5cc6f
Make raw_socket_istream constructor explicit.
2016-09-25 19:48:49 -07:00
Peter Johnson
7463e02080
Logger: Use raw_ostream and SmallString.
2016-09-25 19:48:49 -07:00
Peter Johnson
f711ced4ca
Add raw_socket_ostream.
...
This wraps NetworkStream in a llvm::raw_ostream.
2016-09-25 19:48:49 -07:00
Peter Johnson
a92b7298f9
Add 1-character read to raw_istream.
2016-09-25 19:48:49 -07:00
Peter Johnson
4c6c096c50
Change API of raw_istream to be more similar to raw_ostream.
2016-09-25 19:48:49 -07:00
Peter Johnson
b2e1291973
Refactor JNI helpers into wpiutil (support/jni_util.h). ( #105 )
2016-09-25 19:29:17 -07:00
Peter Johnson
760d6a26d3
Make SafeThread header-only. ( #117 )
2016-09-25 18:21:29 -07:00
Peter Johnson
d8ee44349c
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
d90cf843e8
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
Peter Johnson
e6244289ff
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