Commit graph

232 commits

Author SHA1 Message Date
Philip Trauner
5a8e6b1bbf Added Wallaby identification sound 2016-12-07 20:55:06 +01:00
Philip Trauner
5d1aba5e55 Sensor route initial working version, less ugly code 2016-12-07 19:14:02 +01:00
Philip Trauner
60b9b26d28 Improved error handling on non-existant routes 2016-12-07 19:13:32 +01:00
Philip Trauner
1980d1c06d Peers logic error fix, dummy pipe for sensor 2016-12-07 19:12:35 +01:00
Philip Trauner
160f731281 Fixed syntax error ಠ_ಠ 2016-12-05 23:00:05 +01:00
Philip Trauner
3ced7862ab Added sensor readout code and processes 2016-12-05 22:55:50 +01:00
Philip Trauner
4b1e70d2e5 Added processes route
"processes" is a simple process list for debugging purposes and an ideal pipe demonstration
2016-12-05 22:54:28 +01:00
Philip Trauner
cf57d760de Added dummy pipe for processes 2016-12-05 22:54:01 +01:00
Philip Trauner
cbc1976308 Added peer list and hostname changer, enabled piping
Basic controller interactions now avaliable!
2016-12-02 23:29:45 +01:00
Philip Trauner
4319c2d194 Revamped Subscribe, Peers route fixes, enabled piping
Subscribe was pretty damn ugly code. I wonder why I didn't notice earlier.
2016-12-02 23:26:58 +01:00
Philip Trauner
6ae115a206 Added parameter binding ability for Input
kwargs can now be set on init which allows for additional parameters on events.
Will have to go over all the code to implement a standardised solution.
2016-12-02 23:24:32 +01:00
Philip Trauner
e2bfb79cdf Migration to Highway, incorporate piping, hostname changing
The port of the Wallaby client has kicked off and with it come lots of broken features.
WallabyControl will have to be remade to incorporate piping and routes for sensor readouts as well as wi-fi network selection have to be added.

As a quick piping demo the Hostname changer route was implemented which already works in the Sublime Text client.
2016-12-02 23:20:40 +01:00
Philip Trauner
4d6dcf7d84 Migrated to new init logic, implemented Peers route
Highway requires new init logic to be able to access all currently connected peers.
After a little bit of reverse engineering deemed this to be the least hacky way to obtain access.

Initial version of Peers. This route can be used to retrieve client ids, which are required for piping.
2016-12-01 22:52:57 +01:00
Philip Trauner
37817afa51 Added initial piping support, refactoring
A Highway pipe is a lightweight client -> client connection piped through the server.
The advantages of this approach are obvious:
* No need to implement the concept yourself
* It's incredibly useful

It's opt-in at the moment because it definitely isn't anywhere close to stable and requires a lot of boiler-plate code.
Documentation will be avaliable later on.
2016-12-01 22:46:22 +01:00
Philip Trauner
203d62db0d Improved remove behaviour 2016-11-16 18:53:15 +01:00
Philip Trauner
003bf3aa84 Initial remake efforts, new menu structure, constants
Highway has changed fl0w. In a good way I presume but still: Legacy code has to be updated and made good.
This entails a rework of the menu system which is now officially under way and utilises the new magic features of SublimeMenu.

MORE_CONSTANTS = 1
2016-11-16 18:48:18 +01:00
Philip Trauner
80f984ab28 Fixed imports after Routing merge 2016-11-16 18:47:44 +01:00
Philip Trauner
9ae687e35d Merged into Highway.py 2016-11-16 18:46:41 +01:00
Philip Trauner
0c88b7c161 Merged Routing.py, constants for everything, encoding fixes for js port
Routing.py is no more! The split made sense when ESock was used for all networking,
now it's really just a hassle to import from two different files.

CONSTANTS_FOR_EVERYTHING = 1

In case of mangled utf8 chars that throw encoding errors there is now a "last resort".
If that fails too, the data conversion behaves just like before.
2016-11-16 18:42:07 +01:00
Philip Trauner
c2c36efd0a Preperation for merge with Highway 2016-10-16 23:12:38 +02:00
Philip Trauner
9fc033dc18 Refactoring: less unneeded oo, unreachable code gone, relocated logic 2016-10-16 23:11:27 +02:00
Philip Trauner
d703f018b8 Changed encoding and meta route index
Encoding is now BH (data type, route) which should be more than enough for now.
Because H is not signed the meta route is now always on position 0.
2016-10-15 17:54:01 +02:00
Philip Trauner
2f17bd41ff Removed everything compression related 2016-10-15 16:32:48 +02:00
Philip Trauner
b9dbcdc399 Removed compression
After running some very scientific tests I came to the conclusion that compression does not benefit Highway in any way.
On top of that it is a nightmare to implement Highway clients in other languages (I'm looking at you JavaScript).
So to conclude: Fuck compression (and JavaScript)
2016-10-15 16:29:28 +02:00
Philip Trauner
d2571f6d50 Added constant for struct encoding 2016-10-12 16:27:11 +02:00
Philip Trauner
55f9dd4425 Peers can start discovery at ~ the same time
Still needs some improvement, hard to test because socket has to be bound.
2016-10-09 00:52:34 +02:00
Philip Trauner
1ee7b787ed Initial network discovery prototype 2016-10-08 21:53:02 +02:00
Philip Trauner
829000e387 OS detection, hostname get/set, get ip address on all platforms
Preperation for fl0w network discovery.
2016-10-08 20:09:15 +02:00
Philip Trauner
1e5674dd8f Inherited from universal route
Client and Server routes have been unified into a single route class.
2016-10-07 15:07:52 +02:00
Philip Trauner
28618abc98 Fixed SyntaxError
Sublime Text occasionally doesn't reload changes to plugins when importing them from a modified path. So yeah, mistakes were made.
2016-10-07 15:06:34 +02:00
Philip Trauner
6955a847e4 Removed requirements 2016-10-04 22:24:38 +02:00
Philip Trauner
e03102679d Removed legacy code, unified Client and Server Route 2016-10-03 20:50:41 +02:00
Philip Trauner
1105b0fc8c Fixed int and float compression errors 2016-10-03 20:50:00 +02:00
Philip Trauner
07031d719c Fixed Compile route, refactoring, removed routing hacks, renamed GetInfo
GetInfo is now Subscribe, subclasses changed to unified Route and Web client added to Subscribe route.
2016-10-03 20:44:58 +02:00
Philip Trauner
6212ebed5b Refactoring, magic method support, menu generator support
In addition to Entry sub-menues, menu generators are now supported.
2016-10-03 20:42:46 +02:00
Philip Trauner
eb7692ac9d Lots of regression, refactor and port to Highway networking
Inital refactored version with only one network route. Major changes incoming.
2016-10-03 20:38:59 +02:00
Philip Trauner
9596fa2815 Improved error handling and error reporting 2016-09-25 20:46:06 +02:00
Philip Trauner
2919a7e64e Removed routing hacks 2016-09-25 20:45:10 +02:00
Philip Trauner
37976049a6 Made it work (finally)
Replaced receive_routes with a shared route called meta. Highway manages itself with it's own networking capabilities. (Meta as fuck)
Added NoneType to sendable types (gzip doesn't like None).
Removed old, non-reachable code.
Gave up on multiple inheritence. To inherit from Shared override_methods has to be called. It will monkey-patch all required methods. (less hacky than before)
Ripped out tons of server/client specific code and made it shared.
2016-09-25 18:00:13 +02:00
Philip Trauner
42c08217dc Removed some Sync specific hacks, additional error handling
Patching is completely gone in this version and will be kept out as long as possible.
meta is not handled as a normal route anymore and will be ignored on exchange map creation.
Routes don't require a start method anymore.
2016-09-25 17:57:47 +02:00
Philip Trauner
2816756a31 Removed WallabyControl, ported to Highway networking, removed old commented-out code
The server is now completely ported over to Highway without much regression (except WallabyControl, but that was shite anyway)
The old code the accumulated during the port also was removed.
2016-09-25 17:54:37 +02:00
Philip Trauner
f6c9e505e0 Added default compression level 2016-09-23 14:19:04 +02:00
Philip Trauner
3b7733aee8 Bump version to fix an instancing issue 2016-09-18 20:21:32 +02:00
Philip Trauner
ab6444f118 Overhaul to work with Highway
create_routes now doesn't launch them automatically because routes are put together before the socket actually becomes avaliable.
create_exchange_map previously used the wrong index for the route list.
There is now a universal Route class from which ServerRoute and ClientRoute inherit.
2016-09-18 19:49:53 +02:00
Philip Trauner
058bc81b99 Experimental Highway compatibility 2016-09-18 19:49:18 +02:00
Philip Trauner
a583d87f6a ESock replacement
Highway is a wrapper around ws4py that is needed for routing and exchanging routes automatically.
Currently only the server exchanges routes with the client. This behaviour has to be replicated the other way around too.
Not all that stable.
2016-09-18 19:46:09 +02:00
Philip Trauner
56ad9ba376 DataTypes now reside in Highway 2016-09-18 19:45:17 +02:00
Philip Trauner
73f31496cc Updated to newer version of ws4y that allows for handler initialisation 2016-09-15 11:22:17 +02:00
Philip Trauner
522dbc4e8a First stage (before client connect) works again
Second stage (after client connect) can't be tested right now because there is not WebSocket client yet.
2016-09-11 21:38:13 +02:00
Philip Trauner
ad37319f1f Inital rework for switch to WebSocket 2016-09-11 20:36:31 +02:00