#executor #data-streaming #communication #multiple #task #source #seamless

yanked teravolt

An executor for handling streaming data from multiple sources and enabling seamless communication between them

0.7.0 May 24, 2021
0.6.0 May 17, 2021
0.5.0 Mar 16, 2021
0.4.1 Mar 15, 2021
0.1.0 Feb 18, 2021

#14 in #seamless

Apache-2.0

19KB
346 lines

Teravolt - Multi-stream executor

Teravolt is an executor for handling streaming data from multiple sources and enabling seamless communication between them.

Warning: This is far from being complete and lacks many features at the moment. Use at your own risk!

Goals

  • Speed.
  • Ergonomics.
  • Abstract away threading, async, and inter-process communication.
  • Reliability.

Features

  • Multiple tasks communicating with each other.
  • Custom task restart policies.
  • Handling of errors in tasks cleanly.
  • Subscribe to messages.
  • Support mutable internal state for connections.
  • Distribute task workloads over multiple threads.
  • Procedural macros to create new tasks.
  • Connection dependencies

License

Copyright 2021 Semirix

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this software except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Dependencies

~5–13MB
~117K SLoC