Comments (4)
Near as I can tell
- WebSocket needs a min version of 19
- WAMP needs a min version of 26
- XBR needs a min version of 24 (except that is depends on WAMP)
Might be a good a idea to split it into 3 modules.
from autobahn-java.
as far as I can see, the min version in the build files (that is the version that has direct technical effect) is 24
autobahn-java/autobahn/build.gradle
Line 71 in db03f7e
so I'm a bit puzzled by what you seem to hint at with "WAMP needs a min version of 26" ..
further, "prominently displayed on the ReadMe.": this would result in numbers in locations that need to be kept manually in sync. I'd rather just link into the respective line in build.gradle ...
Might be a good a idea to split it into 3 modules.
why? that sounds like work;) just buying a newer phone is easier
from autobahn-java.
The minSdkVersion that you declare in the Autobahn build.gradle is just what you declare as the min version required by the library. It's impact is that it forces clients to either upgrade their minSdkVersion to match, explicitly ignore the version declared by Autobahn, or use another library.
It doesn't guarantee that Autobahn actually conforms to that minimum.
But it does allow you to easily check when building Autobahn for any code that exceeds that min SDK using the Gradle lint task.
And when you do you will see that the ArgumentUnpacker class has 3 uses that require 26.
Hence WAMP needs 26.
Recommend you start using the @RequiresApi annotation to mark out sections where you step up an API so that users of the library at least get compilation warnings when they try and use the parts beyond what they are configured for.
As to why split it into 2 or 3 modules:
- We have about 3000 devices in the field using the library for which just buying a new phone isn't easier or affordable.
- By splitting into modules that are more self contained you provide an easier to understand API (why conflate WAMP and WebSocket?) and the min API for each would be documented in the build gradle so you wouldn't have multiple places to maintain.
from autobahn-java.
The minSdkVersion ..
yes, I understand that
And when you do you will see that the ArgumentUnpacker class has 3 uses that require 26.
ok, fixed that!
As to why split it into 2 or 3 modules:
sure. however, still, that's work to do for a goal I don't care about: Autobahn was created for WAMP, and it was just the case at that time that there wasn't any WebSocket library at all for Android, so I implemented WebSocket in Autobahn as well ...
from autobahn-java.
Related Issues (20)
- Feature request: support for Proguard HOT 1
- Bump version and release v21.5.1 HOT 23
- JCenter is going away; only publish to Maven Central HOT 1
- how to use this library without android? for example, use spring-boot.
- Support connection through SOCKS5 HOT 2
- How do I implement sending continuous updates (progressive results) in a registered procedure?
- read websocket api json format in Java Desktop App
- Add docs rgd threads and thread-safety HOT 6
- Unable to create a mock of WebSocketConnection
- IllegalStateException: Attempted to take ownership of already-owned FileDescriptor HOT 1
- Set max message payload size from Client class HOT 6
- ANR Input dispatching timed out (Waiting to send non-key event because the touched window has not finished processing certain input events that were delivered to it over 500.0ms ago. Wait queue length: 16. Wait queue head age: 5723.9ms.) java.lang.Object.wait!(Native method) HOT 1
- Closing socket on main thread can throw exception on Android 11 HOT 1
- Java.lang.ExceptionInInitializerError
- Crash happen when compile and target version API 33
- configure JSON serializer HOT 1
- How do I run or deploy a wamp server HOT 2
- Implement progressive call results HOT 1
- Correct copyright holder
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from autobahn-java.