物联网平台驱动多设备并发连接的接口示例

一种Java的示例接口,提供通过多context建立多设备的并发连接的物联网驱动。

物联网平台驱动多设备并发连接的接口示例

DriverContext Interface

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
public interface IDriverContext  {
    /**
     * 设定当前驱动名字
     * @param contextCode 驱动的名字
     * @return 空
     */
    Void setContextCodeFlag(String contextCode);
    
    /**
     * 获取连接状态
     * @return true:连接正常,false:连接断开
     */
    boolean getConnectStatus();

    /**
     * 获取连接信息
     * @return 连接信息
     */
    String getConnectInfo();

    /**
     * 连接
     * @return 连接是否成功
     */
    boolean connect();

    /**
     * 断开连接
     * @return 断开连接是否成功
     */
    boolean disconnect();

    /**
     * 重新连接
     * @return 重新连接是否成功
     */
    boolean reconnect();

    String getContextCodeFlag();
}

Driver Interface

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
public interface IDriver {
    /**
     * 获取当前驱动的名字,为了不与构造器方法重复,暂时增加Flag后缀
     * @return 当前驱动名字
     */
    String getDriverNameFlag();

    /**
     * 设定当前驱动名字
     * @param driverNameFlag 驱动的名字
     * @return 空
     */
    Void setDriverNameFlag(String driverNameFlag);
    
    /**
     * 获取驱动新建连接的参数列表
     *
     * @return 参数名称和默认值(或空字符串)组成的字典
     */
    Map<String, String> getDriverParameters();

    /**
     * 创建上下文
     *
     * @param <Config> 上下文配置文件类型
     * @param config 具体的配置文件
     * @return 创建的驱动上下文
     */
    <Config extends ContextConfig> IDriverContext createContext(Config config);

    /**
     * 驱动添加上下文
     *
     * @param <Context> 驱动上下文类型
     * @param context 上下文实体
     * @return 添加是否成功的布尔值
     */
    <Context extends IDriverContext> boolean addContext(Context context);

    /**
     * 获得上下文
     *
     * @param <Context> 驱动上下文类型
     * @param contextCode 上下文编码
     * @return 指定上下文编码对应的驱动上下文
     */
    <Context extends IDriverContext> Context getContext(String contextCode);

    /**
     * 删除驱动内的上下文
     *
     * @param <Context> 驱动上下文类型
     * @param contextCode 上下文编号
     * @return 删除是否成功的布尔值
     */
    <Context extends IDriverContext> boolean deleteContext(String contextCode);

    /**
     * 上下文连接
     *
     * @param contextCode 上下文编码
     * @return 连接是否成功的布尔值
     */
    boolean connectContext(String contextCode);

    /**
     * 上下文断开连接
     *
     * @param contextCode 上下文编码
     * @return 断开连接是否成功的布尔值
     */
    boolean disConnectContext(String contextCode);

    /**
     * 上下文重连
     *
     * @param contextCode 上下文编码
     * @return 重连是否成功的布尔值
     */
    boolean reconnectContext(String contextCode);

    /**
     * 获取连接状态
     *
     * @param contextCode 上下文编码
     * @return 连接状态的布尔值
     */
    boolean getConnectStatus(String contextCode);

    /**
     * 获取连接信息
     *
     * @param contextCode 上下文编码
     * @return 连接信息的字符串
     */
    String getConnectInfo(String contextCode);
}
Written by VastCosmic & Post in 泠境
Explore the Infinity Cosmos.
Built with Hugo
Designed By VastCosmic with Hugo Theme Stack