
object NodePeerInfo {
    // peer info
    string proto_version
    string uuid
    string nickname
    string username
    string hostname
    string ipv4
    string share_connect_ip
    int32 port
    int32 os_type // OS type
    int32 mode_type // privacy mode type
}

object AppPeerInfo {
    // app define peer info
    string appname
    string json // customize json
}

object NodeInfo {
    NodePeerInfo os
    [AppPeerInfo] apps
}

object NodeList {
    // peer info list
    int32 code
    [NodeInfo] peers
}

object MiscJsonCall {
    // any misc json call
    string app
    string json
}

object ApplyTransFiles {
  string machineName // 机器名称
  string appname // 应用名称
  string tarAppname // 目标应用名称
  int32 type // 0是申请，1同意申请，2,是拒绝申请
  string selfIp // 自己的IP地址
  int32 selfPort // 自己的端口
}

object SearchDevice {
    string appname // 应用名称
    string ip // 目标IP
}

object SearchDeviceResult {
    bool result  // 搜索结果
    string msg // 消息
}

