当前位置: 首页 > 软件库 > 程序开发 > 网络工具包 >

Fast-cast

高性能的低延迟可靠多播消息
授权协议 LGPL
开发语言 Java SHELL
所属分类 程序开发、 网络工具包
软件类型 开源软件
地区 不详
投 递 者 赵驰
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

基于主题的高性能、可靠无代理 UDP 消息传递(“事件总线”)。可承受每秒高达 700 万个 70 字节的消息。

实现 NAK 协议所需的缓冲区不受影响,因此对 GC 的影响不大。如果配置得当,能保证可靠、有边界的低延迟。

要求 JDK 1.7 或更高版本

示例代码

基于快速序列化的对象组播(=广播)发布者:

public static void main(String arg[]) {
        FastCast.getFastCast().setNodeId("PUB"); // 5 chars MAX !!
        configureFastCast();
        FCPublisher pub = FastCast.getFastCast().onTransport("default").publish(
            new PublisherConf(1)            // unique-per-transport topic id
                .numPacketHistory(40_000)   // nuber of packets kept for retransmission requests
                .pps(5000)                  // packets per second rate limit. So max traffic for topic = 5000*2500 = 12.5 MB/second
        );
        // use a helper for fast-serialized messages
        ObjectPublisher opub = new ObjectPublisher(pub);
        RateMeasure measure = new RateMeasure("msg/s");
        while( true ) {
            measure.count();
            opub.sendObject(
                null,  // all listeners should receive (by specifying a nodeId, a specific subscriber can be targeted)
                "Hello "+System.currentTimeMillis(), // serializable object
                false  // allow for 'batching' several messages into one (will create slight latency)
            );
        }
    }
  • FAsTMatch.cpp // // FAsTMatch.cpp // FAsT-Match // // Created by Saburo Okita on 23/05/14. // Copyright (c) 2014 Saburo Okita. All rights reserved. // #include "FAsTMatch.h" #include <iomanip> #i

  • 一个完美的JSON框架不仅仅可以创建JSON对象,还应该可以将JSON对象与实体之间互相转换,而fast-json就是如此一个框架,前面我们已经知道JSONObject 的getObject方法可以将从JSONObject获取到的一个值转换为实体。除此之外com.alibaba.fastjson.JSON有很多静态方法用于实体与JSON对象之间的转换。其中主要有: toJavaObject 将JS

  • 在看aiohttp原码的时候,发现一句代码: app = cast(Application, app) 有些不解这个cast函数是干什么使的,看了源码吓了一跳: def cast(typ, val): """Cast a value to a type. This returns the value unchanged. To the type checker this

  • 这篇博客介绍了UE4中的Multi-Cast Delegate的使用方法以及如何使用Multi-Cast Delgate实现观察者模式。 Delegate Delegate所起的作用是把一个对象与其函数绑定起来,从而产生一个可以全局调用的函数。在C#中已经内置了这样的功能,但是在C++ 11中似乎并没有一个很官方的实现。针对于在C++ 11中实现Delegate,可以参考这两篇文章:Impleme

  • faster rcnn 代码默认是使用的cudnn v4, 但是为了体验最新的v5, 或者使用GTX1080 ,我们编译faster rcnn的时候就会报错: In file included from ./include/caffe/util/cudnn.hpp:5:0,                  from ./include/caffe/util/device_alternate.hp

  • C.146: Use dynamic_cast where class hierarchy navigation is unavoidable C.146:如果无法避免在继承层次中移动,使用dynamic_cast   Reason(原因) dynamic_cast is checked at run time. dynamic_cast会在运行时检查。   Example(示例) struct

  • 聚类结果 原始代码中采用的是pcl中的搜索方式,替换为另外第三方库(nanoflann),速度得到进一步提升。 一、论文内容       论文中给出的结论:该方法避免了在每个嵌套循环中不断遍历每个点是产生的耗时和内存,在经典分割方法的基础上实现了两个数量级,同时产生高质量的结果。       论文给出的方法包含两步:1. Ground Surface Removal;2.The Clusterin

  • 字符串转换数字,数字转换字符串,虽然有标准的C++stream可用,虽说类型安全,但是它太慢了。 fast_cast函数封装了C的转换方式,速度快,较适合要求速度的场合,还可以转换Ansi字符串和Unicode 字符串。 /*  fast_cast.h  sdragon 2006-11-23 20:33:31  使用示例:  int a = fast_cast<int>("123");     /

  • static_cast: Conversions between integers, float, double, char and etc. balance = static_cast<double>(cents); char c;//0 <= c <= 10 digit = static_cast<int>(c) - static<int>('0'); Downcast a base clas

 相关资料
  • 我尝试在我的机器人上实现一个延迟功能,以一个接一个地显示多条消息。延迟特性显示在我的Flow Bot Builder图表中,但当我在conversation tester和Messenger上的代理Bot中测试时,延迟实际上并没有发生--所有消息都同时显示。 我已经将IDE中的延迟代码添加到default.scr文件中: 我还按照下面的指示将options.apikey代码行添加到index.js

  • 主要内容:1 load加载延迟消息数据,1.1 parseDelayLevel解析延迟等级,2 start启动调度消息服务,3 DeliverDelayedMessageTimerTask投递延迟消息任务,3.1 executeOnTimeup执行延迟消息投递,3.2 scheduleNextTimerTask下一个调度任务,3.3 correctDeliverTimestamp校验投递时间,3.4 messageTimeup恢复正常消息,,基于RocketMQ release-4.9.3,深入

  • 我想使用Flink流媒体以低延迟处理市场数据( 我有一组计算,每个都订阅三个流:缓慢移动的参数数据、股票价格和汇率。 例如。 Params(缓慢滴答:每天一次或两次): 资源(每秒多次滴答声): fx(每秒多次滴答声): 每当任何股票、外汇汇率或参数数据发生变化时,我都想立即计算结果并将其输出为新流。这在逻辑上可以表示为连接: 例如选择价格=(params.strike-asset.spot)*f

  • 如何使用Apache Kafka生成/使用延迟消息?标准的Kafka(和Java的kafka-client)功能似乎没有这个特性。我知道我自己可以用标准的等待/通知机制来实现它,但是它看起来不是很可靠,所以任何建议和好的实践都很感谢。 找到相关问题,但没有帮助。正如我所看到的:Kafka基于从文件系统的顺序读取,并且只能用于直接读取主题,保持消息的顺序。我说的对吗?

  • 我不熟悉ApacheStorm和kafka,作为POC的一部分,我正在尝试使用kafka和ApacheStorm处理消息流。我使用的是暴风Kafka的来源https://github.com/apache/storm/tree/master/external/storm-kafka,我能够创建一个示例程序,该程序使用KafkaSpout读取来自kafka主题的消息,并将其输出到另一个kafka主题

  • 问题内容: 我是iOS的初学者,正在尝试使用Swift设计鼓组应用。我设计了一个带有单个按钮的视图,并在下面编写了代码,但是它存在一些问题: 当我像鼓声一样快速触摸按钮时,会丢失一些声音。 仍然在“鼓声滚动”中,每次触摸该按钮都会中断声音,而不是让样本播放到结束为止。例如,c滚动太糟糕了。即使我再次触摸该按钮,我也希望听到所有采样的声音。 触摸和声音之间存在延迟。我知道这是不是低延迟音频的最佳选择