James Coglan
|
ba6c47dd77
|
Extract the Java integer parsing into a helper class.
|
2017-03-26 12:08:49 +01:00 |
|
James Coglan
|
92f4bdfb06
|
Use the bounds_check function to check preconditions for reading and writing uint16/uint64.
|
2017-03-15 09:56:04 +00:00 |
|
James Coglan
|
609d4feac0
|
Make the pointer-clearing macro shouty.
|
2017-03-15 01:55:01 +00:00 |
|
James Coglan
|
8818e7e176
|
Remove an unused iteration macro from queue.c.
|
2017-03-15 01:54:46 +00:00 |
|
James Coglan
|
c22c952fb6
|
Rename ReadBuffer to StreamReader to match the Ruby version.
|
2017-03-14 21:59:50 +00:00 |
|
James Coglan
|
29dec87660
|
Wrap all buffers in the C implementation in an opaque struct that records the length of the buffer and an API that checks the offsets of common buffer operations.
|
2017-03-14 21:41:33 +00:00 |
|
James Coglan
|
5ba7910b17
|
Macros are SHOUTY.
|
2017-03-07 09:46:52 +00:00 |
|
James Coglan
|
f95895f729
|
Check for hitting the max message size and max read buffer capacity without using additions that could overflow.
|
2017-03-07 09:42:23 +00:00 |
|
James Coglan
|
4564736fde
|
Bring close frame handling into line between parser implementations.
|
2017-03-06 21:12:27 +00:00 |
|
James Coglan
|
d488d3b050
|
Remove the unused wsd_Observer_on_frame() callback facility.
|
2017-03-04 12:35:01 +00:00 |
|
James Coglan
|
61fabc7337
|
Integrate hooks for calling valid_frame_rsv? into the native extensions, so that WebSocket extension modules can override RSV validation.
|
2017-03-04 12:31:55 +00:00 |
|
James Coglan
|
183674c99f
|
Extract helpers for constructing JRuby values into their own class.
|
2017-03-04 00:35:36 +00:00 |
|
James Coglan
|
33c930be34
|
Check that control frames are smaller than 125, not larger.
|
2017-03-03 22:20:36 +00:00 |
|
James Coglan
|
6706fe31ce
|
In order to correctly serialise the length of long frames, the Frame.length field should be a long and bitshifting should be done with >>>. This necessitates various casts to ints, which is what byte[] sizes are measured in.
|
2017-03-01 18:11:20 +00:00 |
|
James Coglan
|
8e307f3429
|
Create a new Message when the opcode is binary. This was responsible for a NullPointerException when emitting a message.
|
2017-03-01 18:08:35 +00:00 |
|
James Coglan
|
79134ffade
|
Adjust formatting in construction of first byte in Unparser.
|
2017-03-01 09:11:53 +00:00 |
|
James Coglan
|
2d60b40b94
|
Implement Unparser in Java and use the native unparser in native_spec.rb.
|
2017-03-01 00:57:20 +00:00 |
|
James Coglan
|
000f0b81fc
|
Due to JRuby's limitation of only accepting 3 arguments on @JRubyMethod methods, we need to pack a few of the arguments to Unparser#frame() into an array.
|
2017-03-01 00:44:39 +00:00 |
|
James Coglan
|
8a43a2879a
|
Tidy up the JRuby bindings using factory methods for Ruby types.
|
2017-02-27 23:50:51 +00:00 |
|
James Coglan
|
ddcd43995c
|
Port the parser to Java, passing all the unit tests.
|
2017-02-26 22:56:07 +00:00 |
|
James Coglan
|
319275d07b
|
Free the allocated Observer if allocating a Parser fails.
|
2017-01-05 22:26:48 +00:00 |
|
James Coglan
|
bfcc911a81
|
Replace the Queue_scan function and callback with an external iterator that exposes the values.
|
2017-01-05 21:58:46 +00:00 |
|
James Coglan
|
914dadb973
|
Port the frame serializer to C.
|
2017-01-05 21:38:26 +00:00 |
|
James Coglan
|
f36fe01a19
|
The parser opcode checking functions should take an opcode, not a Parser.
|
2016-12-31 17:57:37 +00:00 |
|
James Coglan
|
ede6490add
|
Refer to error messages as 'reasons' so as not to confuse them with WebSocket message structs.
|
2016-12-31 15:48:47 +00:00 |
|
James Coglan
|
99a6e459fe
|
The parser should keep reading as long as the read length is the same as the required length; sometimes this is zero.
|
2016-12-29 11:28:18 +00:00 |
|
James Coglan
|
21bfd23f1a
|
Implement basic RSV checking for the case when no extensions are active.
|
2016-12-29 01:55:23 +00:00 |
|
James Coglan
|
6ffb801dd1
|
Remove a redundant check for continuation frames when there's no initialised message.
|
2016-12-29 01:54:54 +00:00 |
|
James Coglan
|
97b497a520
|
Drop the old native extension and replace it with the new all-C parser. Replace the old masking code with a Ruby version, so that the Hybi class is pure Ruby.
|
2016-12-29 01:09:12 +00:00 |
|