Code Monkey home page Code Monkey logo

kino's Introduction

Kino - framework for building Actor networks

Build status NuGet version

Kino

Kino is a simple communication framework based on Actor model.

Unicast, multicast and direct message addressing, delivery-to-node confirmation, callbacks (routing response message to the resumption actor). Rendezvous service provides actors auto-discovery and reduces amount of required configuration. Actors can be single- or multithreaded.

Supported Platforms: .NET 4.7, .NET Core 2.1

What's new

Partner Rendezvous clusters can be configured to access actors from other networks.

It is simple!

Define an Actor:

public class MyMessageProcessor : Actor
{
    [MessageHandlerDefinition(typeof (MyMessage))]
    public async Task<IActorResult> MyMessageHandler(IMessage message)
    {
        // method body
    }
}

Send a Message:

// Just create a message you would like to send
IMessage request = Message.CreateFlowStartMessage(new MyMessage());
// Define result message you would like to receive
ICallbackPoint callbackPoint = CallbackPoint.Create<ResultMessage>();
// Now, send the message. No need to know actor address, ID or anything else!
IPromise promise = messageHub.Send(request, callbackPoint);
// Wait for result
ResultMessage result = promise.GetResponse().Result.GetPayload<ResultMessage>();

Tell me more!

If you are interested in the project, please, read wiki for details about the framework, ask related questions or suggest features in chat! Join the chat at https://gitter.im/iiwaasnet/kino

kino-based Projects

Powered by NetMQ

kino's People

Contributors

gitter-badger avatar iiwaasnet avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

kino's Issues

System.InvalidOperationException:

System.InvalidOperationException: 请求的性能计数器不是自定义计数器,它必须初始化为 ReadOnly。
在 System.Diagnostics.PerformanceCounter.InitializeImpl()
在 System.Diagnostics.PerformanceCounter..ctor(String categoryName, String counterName, String instanceName, Boolean readOnly)
在 kino.Core.Diagnostics.Performance.SafePerformanceCounter.CreatePerfCounter() 位置 C:\Users\Administrator\Downloads\kino-master\kino-master\src\kino.Core\Diagnostics\Performance\SafePerformanceCounter.cs:行号 32

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.