GithubHelp home page GithubHelp logo

ruedigermoeller / fast-cast Goto Github PK

View Code? Open in Web Editor NEW
122.0 122.0 17.0 1.56 MB

hp low latency reliable multicast messaging

License: GNU Lesser General Public License v3.0

Java 99.24% Shell 0.76%

fast-cast's People

Contributors

dmart28 avatar orthographic-pedant avatar ruedigermoeller 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  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  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  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  avatar  avatar  avatar  avatar  avatar  avatar

fast-cast's Issues

sun.misc.Unsafe can't be used anymore?

I used this maven jar for test,and I found that in my Android Stuidio,FastCast can't get his singleton anymore,and the reason is that in FSTUtil,the package sun.misc.Unsafe can't be import.When I google for this,it seems that this class that can't manipulate memory may be duplicated by Oracle.So I wonder if there are something that can take place of it?Thanks for you reply.Best Wishes.

Question regarding "Flush"

Hello,

Having question: say I do some number of "publisher.offer(..)" calls. After that, I just call "publisher.flush()". How much guarantee is that everything offered before "flush" call was really sent down to socket?

Just it seems it's not the case that after flush everything gets written down to channel now from my tests. Thanks in advance.

Casting issue using fst-2.4.0

When trying to run the FastCast 3.0 example, I get the following error:

org.nustaq.fastcast.impl.DataPacket_Struct cannot be cast to org.nustaq.offheap.structs.structtypes.StructString

I am using fst-2.4-oneja.jar.

Any help?

SNDBFR unset

Hi!

private DatagramChannel ceateSocket(boolean block, int port) throws IOException {
        DatagramChannel channel = DatagramChannel.open(StandardProtocolFamily.INET)
                .setOption(StandardSocketOptions.SO_REUSEADDR, true)
                .setOption(StandardSocketOptions.IP_MULTICAST_IF, iface)
                .setOption(StandardSocketOptions.SO_RCVBUF, conf.getSocketReceiveBufferSize())
                .setOption(StandardSocketOptions.IP_TOS, conf.getTrafficClass())
                .setOption(StandardSocketOptions.IP_MULTICAST_LOOP, conf.isLoopBack())
                .setOption(StandardSocketOptions.IP_MULTICAST_TTL, conf.getTtl())
                .bind(new InetSocketAddress(port));
        channel.configureBlocking(block);
        return channel;
    }

It seems there is not set for StandardSocketOptions.SO_SNDBFR. Is it kind of bug, or it is set somewhere else?

Single FastCast for both receiving and offering

Hi there,

Why I can only use FastCast instance topic either for sending or receiving, but not both?

public void subscribe( SubscriberConf subsConf, FCSubscriber subscriber ) {
        ....
        if ( topicEntry.getPublisherConf() != null ) {
            throw new RuntimeException("already a sender registered at "+subsConf.getTopicId());
        }

Why this condition here, how publisher intersects with subscriber after all? Appreciate for answer.

Bug with immediate send to FC

Hi guys.

I am facing a trouble which I suspect to be a bug anyway. My case is next: I am creating two FastCast instances in same process, then init them both (one by one) like this:

fastCast.onTransport(config.transportName()).subscribe(fastCast.getSubscriberConf(config.topicName()), new FCSubscriber() {
            @Override
            public void messageReceived(String sender, long sequence, Bytez b, long off, int len) {
                // some fancy logic
            }

            @Override
            public boolean dropped() {
                return true;
            }

            @Override
            public void senderTerminated(String senderNodeId) {
            }

            @Override
            public void senderBootstrapped(String receivesFrom, long seqNo) {
            }
        });
// I want publisher to be pre-inited as earlier as possible
        publisher = fastCast.onTransport(config.transportName()).publish(fastCast.getPublisherConf(config.topicName()));

And immediately after that I start to call offer(..) on one FC, and expect message to be delivered on another. But most of the time it's not the case, this message just got lost, despite that offer returned true!

The only case is to do some Thread.sleep(1000) between init and calling offer. So, to conclude:

  1. My config is just fine, and I got 100% time messages if I sleep after init for some amount of time.
  2. Most of the time first message is almost lost if I start to offer immediately.

Really appreciate for support, since I'd like to believe such great thing is usable as a durable instrument and my transactions will not become lost garbage in space :)

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.