哈希图开发入门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/

你可能感兴趣的:(哈希图开发入门8-核心类SwirldsMain)