trenthouliston / niowire Goto Github PK
View Code? Open in Web Editor NEWNiowire, The highly scaleable socket server framework
License: GNU General Public License v3.0
Niowire, The highly scaleable socket server framework
License: GNU General Public License v3.0
It might be possible to easily add support for UDP packets as well as TCP ones (possibly even multicast)
Implement a service which allows other sockets to get a proxy/repeater of any other socket connected to the repeater system
Case is divided into 3 sections, Write a HTTP serializer, write a http authentication inspector, and write a statistics service (using websockets)
Need to better log events that occur with better messages in some cases (such as connection and disconnection, one uses UID ones uses IP) and the server setting itself up and listening isn't logged at all.
Implement configurable hooks which will execute when particular events are fired (using HookEvent) and then configure their parameters based on what is in the hook event
Implement a wrapper serializer which can use two other serializers internally, one for serialization one for deserialization
Add a custom Classloader for the NioObjectFactory, this way services etc can be dynamically loaded into the system without shutting it down
Write a system which allows services/inspectors/serializers to specify when they are ready to be swapped out. This way the update may roll across the connections gradually as they finish their tasks
Implement a service which can log the incoming data to a file, name files based on a pattern, store directories based on a pattern, and start/end logs based on lines recieved
Currently in the NioSocketServer test there are sections of the test which are not active. Need to find another way to check if the servers have been updated
To make the system more flexible, packets should be able to be injected into any point in the system, and the decision to pass packets onward should be the responsibility of the serializer/inspector
Implement a serializer which wraps other serializer but first unzips content into plaintext
Currently a lot of code (such as managing rebuffering, reading partial data) is common between serializers but replicated a bit. It would be better to push this functionality into a common superclass to make implementing easier. Also by splitting out the engine part of the serializers, this will allow them to be used in more then just the serializer role. For example they can be used in #6 to allow more flexibility in terms of storage.
Write a serializer that users protocol buffers http://code.google.com/p/protobuf/
Improve the UniversalConverter class so that custom additions can be added to it at runtime. Also redesign it to be more robust and performant.
For some cases it is easier to have both the raw and processed data from the serializer. Allow an option which can turn on adding raw data (otherwise it will be left as null)
Implement a serializer which can wrap another serializer providing SSL decoding prior to parsing by the internal serializer
Some serializers such as the SSL serializer and GZIP serializer need to be able to send close data when the connection is closed. There needs to be a way to handle sending of this close data to the client.
One possible option is to add a required method to serializers which gives them direct control of the socket-channel and removes it from the control of the selector (cancel key but not close)
Another way (if all serializers only need a single final message) is to have a method that gets that and sends it directly through the socket to the client (not via the selector)
By using Thread.currentThread() it should be possible though a static method on NioSocketServer and using the current ThreadGroup, to get which NioSocketServer we are currently running on
Implement a serializer which can delay packets by a set amount of time before sending them out.
Currently there are sections of the test which are not working, A new way to find out if objects have been updated needs to be found
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.