Giter Site home page Giter Site logo

aktoro's People

Contributors

r3v2d0g avatar

Watchers

 avatar  avatar  avatar

aktoro's Issues

Documentation

The crates need an overall cleanup of their documentation.

Documentation

  • aktoro-raw:
    • action::*
    • actor::*
    • channel::*
    • context::*
    • control::*
    • event::*
    • message::*
    • runtime::*
    • spawned::*
    • update::*
  • aktoro-channel:
    • builder::*
    • channel::*
    • counter::*
    • error::*
    • message::*
    • notify::*
    • queue::*
    • receiver::*
    • sender::*
  • aktoro-context:
    • action::*
    • channel::*
    • context::*
    • control::*
    • event::*
    • message::*
    • respond::*
    • update::*
  • aktoro-runtime:
    • actor::*
    • error::*
    • runtime::*

Sub-actors

Actors should be able to spawn other actors.

Context: stop and kill

  • Context<A: Actor>::stop(&mut self): alias for Context<A: Actor, S: Actor::Status>::set_status(&mut self, status: S) where status == S::stopped()
  • Context<A: Actor>::kill(&mut self): alias for Context<A: Actor, S: Actor::Status>::set_status(&mut self, status: S) where status == S::dead()

Context: error, stop_error and kill_error

  • Context<A: Actor>::error(&mut self, err: A::Error): emits an error to the Spawned handle
  • Context<A: Actor>::stop_error(&mut self, err: A::Error): emits an error to the Spanwed handle and stop the actor gracefully
  • Context<A: Actor>::kill_error(&mut self, err: A::Error): kills the actor and return the error to the Spawned handle

Close streams actors are subscribed to

Actors that are subscribed to a stream or receiving data from an AsyncRead should be able to unsubscribe from them (returning the original stream) or to close them.

Tests

TODO: write a list of the tests wanted

Forward streams

Actors should be able to open a stream and receive new data from them as messages.

This is useful, for example, when listening for new TCP connections.

Better naming

  • Context::wait could be understood as if the context is waiting for the future to yield before handling other futures and messages.
  • Context::blocking_wait would then make no sense.
  • Context::exec and Context::blocking_exec could be renamed and used as wait and blocking_name's new names.

Await futures

Actors should be able to await a future.

This is useful, for example, when trying to open a new TCP connection.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.