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

什么是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/

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,845评论 18 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,742评论 18 399
  • OC语言基础 1.类与对象 类方法 OC的类方法只有2种:静态方法和实例方法两种 在OC中,只要方法声明在@int...
    奇异果好补阅读 4,313评论 0 11
  • 这是李婷365日写作计划第223天的写作内容 9.9号工作日清: 1.结束培训回到惠阳仓 2.参观已经准备好开仓的...
    婷婷玉立水墨画阅读 143评论 0 0
  • 2006年,小学毕业,11岁。 隔了这么久,我依然记得小学毕业那天。我们几个拿着绩单从教室里走出来,看着隔壁班眼睛...
    花未全阅读 674评论 3 0