Commit Graph

37 Commits

Author SHA1 Message Date
Omar Zrien
4e0ed79864 Fix no return warning in jni_util.h (#62) 2017-12-02 00:28:56 -08:00
Thad House
6767afd400 Adds a UDPClient (#60)
Send only currently. Will eventually implement receive, but not
necessary for now.
2017-11-28 00:53:10 -08:00
Peter Johnson
877c7f51c1 raw_istream: Don't forward declare Twine et al. (#59)
It breaks existing users who use StringRef.
2017-11-22 23:49:57 -08:00
Peter Johnson
912b74151f Use llvm::Twine instead of llvm::StringRef in several places. (#58) 2017-11-22 21:47:56 -08:00
Peter Johnson
f73db4a49b Twine::isSingleStringRef(): Support CharKind. (#57) 2017-11-22 21:38:25 -08:00
Peter Johnson
85e83f1bba WPI_Now(): return microseconds, and make backend replaceable. (#56)
- Add function documentation.
- Use uint64_t instead of unsigned long long
2017-11-19 11:47:06 -08:00
Peter Johnson
e4deda5ccb Fix SafeThread bad merge. (#53) 2017-11-12 23:00:50 -08:00
Peter Johnson
80618a2e64 Use wpi mutex and condition_variable. (#52) 2017-11-12 22:12:03 -08:00
Peter Johnson
e45b6e0f65 Fix typo in priority_condition_variable. (#51) 2017-11-12 22:11:08 -08:00
Peter Johnson
9d8a508cd5 Add priority_mutex and priority_condition_variable. (#50)
Also provide wpi::mutex and wpi::condition_variable as wrappers for these
on Linux (where they're available), and for std::mutex and
std::condition_variable on other platforms.
2017-11-12 20:56:29 -08:00
Peter Johnson
c9ead29f44 SafeThread: Simplify m_lock assignment. (#49)
Instead of construct-and-swap, just use the move operator=.
2017-11-12 20:10:55 -08:00
Peter Johnson
f77fd1eca9 Set SO_EXCLUSIVEADDRUSE for server sockets on Windows. (#44)
On Windows, the shutdown() call relies on exclusively owning the server
socket.
2017-11-11 16:27:33 -08:00
Peter Johnson
5a5e753921 LLVM path: Don't follow symlinks. (#48)
This causes issues in recursive_directory_iterator.
2017-11-11 16:27:07 -08:00
Peter Johnson
8e797a1a1d Import filesystem directory iterators from llvm. (#43)
Note: these are similar to the C++17 ones, but don't have quite the same API.
2017-11-03 11:40:42 -07:00
Thad House
a6c7789b5e Removes specific raspbian, armv7 and armv8 cross builds (#41)
Will make the cross platform build case easier. A bit more difficult to
consume, but will be easier in the long run.
2017-10-14 21:57:53 -07:00
Peter Johnson
3faecdb353 Add SHA1 algorithm implementation. (#32)
Largely based on https://github.com/vog/sha1 with some customizations and
optimizations.
2017-09-10 17:21:19 -07:00
Peter Johnson
ef85809690 Fix bug in raw_fd_istream::read_impl(). (#30)
It would not set error if read() returned 0 (indicating EOF).
2017-09-06 22:06:21 -07:00
Peter Johnson
041563f8ea Change UidVector to be LRU with a reuse threshold. (#29)
This keeps indexes from being instantly reused and reduces the risk of
accidentally using an old index.

Also change erase and emplace_back to return 0-based instead of 1-based
indexes.

This is a breaking change, but a noisy one due to the template parameter
change.
2017-09-06 19:54:58 -07:00
Thad House
c3f7c85f8a Adds wpi GetHostname function (#25) 2017-08-27 21:35:34 -07:00
Thad House
5d403a7b49 Makes an empty stringref have a valid Data pointer (#28)
Now acts similar to std::string, where an empty construction string is valid.
2017-08-26 10:04:11 -07:00
Thad House
8416b4e42c Add default parameter to StringRef to allow null termination on lengthed strings. (#27) 2017-08-23 21:02:11 -05:00
Peter Johnson
68501759fa tcpsockets: Don't pull in platform-specific headers in headers. (#26)
This pollutes the namespace for all users of these headers.
This is particularly an issue on Windows.
2017-08-23 01:27:19 -05:00
Peter Johnson
fa7d5bc023 Add UidVector (used in both ntcore and cscore Notifier). (#22) 2017-08-14 22:58:11 -07:00
Peter Johnson
855df5d679 raw_mem_istream: Add StringRef constructor. 2017-08-13 12:18:19 -07:00
Peter Johnson
c8d9cc7e5b Add filename constructor to raw_fd_istream. 2017-08-13 12:18:19 -07:00
Peter Johnson
1c1fbf14cf Import LLVM openFileForRead and openFileForWrite. 2017-08-13 12:18:19 -07:00
Peter Johnson
7d9e6b7e22 Move ReadLine into raw_istream class as getline. (#20) 2017-08-13 00:56:35 -07:00
Peter Johnson
17b5cace5b Base64: Add raw_ostream and SmallString interfaces. (#19) 2017-08-13 00:55:56 -07:00
Peter Johnson
7e011bda6f Add HTTP utilities. (#7)
Imported from cscore.
2017-08-06 23:28:21 -07:00
Peter Johnson
8418c39120 Add Path and Twine components from LLVM. (#10) 2017-08-06 23:26:42 -07:00
Peter Johnson
25c8e873d0 TCPConnector: Add method to connect to server in parallel. (#6)
This substantially speeds up connection times compared to sequentially
trying to connect to each server in round-robin fashion.
2017-08-03 16:45:42 -05:00
Thad House
bd899a7a7c Fixes mac RuntimeDetector (#11) 2017-08-02 13:17:26 -07:00
Peter Johnson
301442ee43 Add json support to wpiutil.
This is a modified version of https://github.com/nlohmann/json.

It's been moved into the wpi namespace as many of the changes are not
compatible.  The amount of template code has been significantly reduced,
enabling many functions to be moved out-of-line, and for the result to
build on older compiler versions (in particular GCC 4.8).
2017-07-28 21:55:03 -07:00
Peter Johnson
436ed4d1e3 Implement comparison operators for llvm::StringMap. 2017-07-28 21:55:03 -07:00
Peter Johnson
9385d1b6d8 GetJavaStackTrace: Provide llvm::StringRef excludeFuncPrefix. (#3)
This is a bit cleaner to use than the templated version (many compilers
have issues with templating on static strings, for example).
2017-07-28 18:08:54 -07:00
Peter Johnson
b90653f3e3 Logger: Add def_func and min_level constructors. (#2) 2017-07-28 18:08:31 -07:00
Thad House
1243cf04ea Adds new build system to repo (#1) 2017-07-28 07:29:49 -07:00