美文网首页程序员
哈希图开发入门8-核心类SwirldsMain

哈希图开发入门8-核心类SwirldsMain

作者: Block_Man | 来源:发表于2018-07-11 16:05 被阅读32次

    什么是SwirldMain?

    public interface SwirldMain extends java.lang.Runnable

    要实现一个swirld应用,需要创建一个实现了SwirldsMain的类。它的创建方法没有参数,run()方法直到用户退出swirld都保持运行。

    方法概要

    void init(Platform platform, long selfId)

    这个方法只会由Platform来调用


    SwirldState newState()

    实例化并返回一个SwirldState 当前SwirldMain 对应的对象。


    void preEvent()

    platform 在SwirldMain创建一个事件前调用这个方法。


    default void release(Platform platform, int id)

    关闭不是由Platform.create*实例化的窗口。


    void run()

    应用在这里管理屏幕显示和 I/O, 以及按需创建交易。


    方法详解

    init

    void init(Platform platform, long selfId)

    这个方法只会由Platform来调用。它传递了patform的引用,因此SwirldMain知道改调用谁(依赖注入)。

    参数:

    platform - 初始化SwirldMain的Platform

    selfId - 成员(自己)的ID 号


    release

    default void release(Platform platform, int id)

    关闭不是由Platform.create*实例化的窗口。这个方法可能被不是Swing事件线程调用。

    参数:

    platform - 实例化这个 SwirldMain的Platform

    id - 成员ID 号(自己)


    run

    void run()

    应用在这里管理屏幕显示和 I/O, 以及按需创建交易。它应该在用户关闭应用时退出,但也有可能更早。

    定义:

    在接口 java.lang.Runnable的方法run


    preEvent

    void preEvent()

    platform 在SwirldMain创建一个事件前调用这个方法。SwirldMain 可选择在这里创建交易,确信它们也会马上被发送。 一个 SwirldMain 可以被写成在这个方法里做所有的事情,而在run()方法什么也不做立即返回。

    run()有它自己的线程,这个线程属于特定swirld运行应用的SwirldMain。而preEvent() 运行在platform每次调用这个方法时创建的特殊线程里,并被限制在0.1秒返回。如果preEvent()没有在0.1秒返回,线程将会被中断。


    newState

    SwirldState newState()

    实例化并返回一个对应于SwirldMain对象的 SwirldState 对象。通常,如果类ExampleMain实现了SwirldMain,那么newState会返回ExampleMain的对象。

    Returns:

    新创建的 SwirldState 对象


    原文:https://dev.hashgraph.com/docs/swirldmain/

    相关文章

      网友评论

        本文标题:哈希图开发入门8-核心类SwirldsMain

        本文链接:https://www.haomeiwen.com/subject/uibhpftx.html