Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/Tong89/smartNode
/ functions
Functions
1,201 in github.com/Tong89/smartNode
⨍
Functions
1,201
◇
Types & classes
156
↳
Endpoints
53
↓ 5 callers
Method
ground_station_candidates
(self, req)
backend/scheduling/scheduler.py:24
↓ 5 callers
Function
labelDataType
(type: string | undefined | null)
frontend/src/utils/format.ts:67
↓ 5 callers
Function
labelLinkMode
(method: string | undefined | null)
frontend/src/utils/format.ts:91
↓ 5 callers
Function
labelStatus
(status: string | undefined | null)
frontend/src/utils/format.ts:79
↓ 5 callers
Method
list_scenarios
列出全部场景摘要(不含 run_stats 详情以减小响应体积)。 Returns ------- list[dict] 按 saved_at 倒序排列的摘要列表,每条包含 id / name / sa
backend/store.py:198
↓ 5 callers
Method
release_time_slot
(self, req_id)
backend/resources.py:88
↓ 5 callers
Method
resource_busy_by_other
(self, resource_type, resource_id, req_id)
backend/scheduling/scheduler.py:18
↓ 5 callers
Method
save_request
(self, req: dict)
backend/persistence/db.py:42
↓ 5 callers
Method
set_baseline
将指定场景设为基线,同时取消之前的基线标记。 Returns ------- bool True 表示成功(场景存在),False 表示场景不存在。
backend/store.py:227
↓ 5 callers
Method
to_dict
(self)
backend/core.py:343
↓ 4 callers
Function
_assert_snapshot
逐字段断言实际结果与黄金快照一致(忽略 _doc 注释字段)。 Args: actual: 运行时采集的快照字典 expected: 从黄金文件读取的期望快照字典 scenario: 场景名称(用于错误消息)
tests/test_regression_golden.py:109
↓ 4 callers
Method
_calculate_relay_rate
单跳中继速率,叠加 GEO 天线偏轴扫描损耗。 若 geo_id 有对应的 BeamPointing 管理器,会: 1. 检查 LEO→GEO 方向是否在 GEO 天线扫描范围内;若不在则返回 0; 2. 将偏轴扫描损耗折算为速率衰减因子并施加到最终
backend/core.py:2008
↓ 4 callers
Method
_check_time_slot_available
(self, resource_type, resource_id, start_time, end_time, required_bandwidth=0)
backend/core.py:802
↓ 4 callers
Function
_delta
(key: str)
backend/metrics.py:212
↓ 4 callers
Function
_load_golden
从磁盘加载黄金快照 JSON。
tests/test_regression_golden.py:95
↓ 4 callers
Method
_make_engine
(self)
tests/test_scheduler_properties.py:337
↓ 4 callers
Function
_make_seeded_engine
创建固定种子、不启动后台线程的仿真引擎实例。
tests/fixtures/scenarios.py:45
↓ 4 callers
Function
_read_cache
读取本地缓存文件,不存在则返回 None。
backend/physics/tle_source.py:134
↓ 4 callers
Method
_req
(self, data_type: str, data_size: float)
tests/test_core.py:161
↓ 4 callers
Function
_run_scenario_task_cmd_immediate
场景 1: TASK_CMD 立即接受。 TASK_CMD 的 immediate=True 使 _evaluate_request 直接返回 True, 无需等待链路可见——提交后立即进入 transmitting 状态。
tests/test_regression_golden.py:132
↓ 4 callers
Method
_update_resource_utilization
更新资源利用率统计 - 基于带宽的精确算法
backend/core.py:709
↓ 4 callers
Method
close
关闭数据库连接。
backend/store.py:404
↓ 4 callers
Method
compute
计算给定斜距下的完整链路预算。 Parameters ---------- distance_km : float 发射端到接收端斜距 (km)。 Returns -------
backend/comms/link_budget.py:196
↓ 4 callers
Method
count_requests
(self)
backend/persistence/db.py:61
↓ 4 callers
Function
decisions
(seed)
tests/test_m2_regression.py:43
↓ 4 callers
Method
events
(self, request_id=None, event_type=None)
backend/persistence/event_log.py:38
↓ 4 callers
Function
getExpiredEntityIds
* 模拟 updateScene 中的节点差分逻辑: * 给定当前索引 entityIndex 和本轮活跃节点 id 集合 liveNodeIds, * 返回需要删除的 id 列表(已消失节点)。
frontend/tests/app.unit.test.js:343
↓ 4 callers
Method
resume_from_snapshot
退出回放模式,重新启动主仿真循环。 Returns ------- bool True 表示成功重启,False 表示引擎已在运行中。
backend/core.py:2339
↓ 4 callers
Method
snapshot
拍摄仿真快照,返回快照字典。 快照包含当前时间、全部请求、资源占用、统计数据等。 主仿真循环继续运行,不受影响。 Parameters ---------- label: 可选的快照标签(便于
backend/core.py:2299
↓ 4 callers
Method
update_leo_satellite_count
⭐ 更新LEO卫星数量 - 轨道参数预先已知,支持动态生成补充,无上限。 合并自此前两份重复定义:保留动态生成(_generate_random_leo)与减少时的 _handle_removed_satellites 处理,并按前后激活列表的 ID 差集精确计算被
backend/core.py:2057
↓ 3 callers
Method
_beam_scan_loss_factor
返回 node_id 天线指向 sat_pos 时的扫描损耗因子(线性,<=1.0)。 若无约束管理器或目标超出范围则返回 1.0(不施加额外损耗)。
backend/core.py:1985
↓ 3 callers
Function
_cache_path
返回指定分组的缓存文件路径(.tle)。
backend/physics/tle_source.py:102
↓ 3 callers
Method
_check_beam_pointing
检查 node_id 对应的相控阵天线是否可以指向 sat_pos(从 node 角度看卫星)。 计算卫星相对节点(GEO 或随遇站)的仰角和方位角,然后检查: - 目标是否在扫描范围内; - 当前活跃波束数是否未达上限。 Retu
backend/core.py:1960
↓ 3 callers
Method
_make_request
构造一个合法的请求字典(包含必填字段)。
tests/test_scheduler_properties.py:341
↓ 3 callers
Function
_make_rm_with_geo
创建含一个 GEO 中继时间池条目的 ResourceManager。
tests/test_scheduler_properties.py:47
↓ 3 callers
Method
_occupy_resources
(self, req_id, sat_id, gs_id, relay_id=None, relay2_id=None, start_time=None, end_time=None)
backend/core.py:1947
↓ 3 callers
Function
_run_scenario_relay_bandwidth_exhausted
场景 3: 中继带宽耗尽。 通过向 transmission_requests 注入高速率的虚拟传输请求填满所有 GEO 中继带宽, 同时在 resource_usage 中标记所有地面站为占用状态; 此后提交 DATA_SLICE 应立即被拒绝(无可用通信链路)。
tests/test_regression_golden.py:183
↓ 3 callers
Method
_start_transmission
开始传输任务(或等待过境) - 支持中继带宽共享
backend/core.py:1615
↓ 3 callers
Function
_submit_concurrent
多线程并发提交,返回 (results, errors)。
tests/load/test_stress_engine.py:107
↓ 3 callers
Method
_update_decision_metrics
⭐ 更新决策指标统计
backend/core.py:765
↓ 3 callers
Function
atmospheric_loss_for_link
返回合计大气衰减 (dB),供链路预算 misc_loss_db 叠加。 零降雨时仅包含气体吸收,非零降雨时叠加雨衰。 Parameters ---------- freq_hz : float 载波频率(Hz)。 elevation_de
backend/comms/atmosphere.py:315
↓ 3 callers
Method
cleanup_expired
(self, current_time)
backend/resources.py:95
↓ 3 callers
Function
collect
(bucket: Record<string, { events: Array<{ start: number; end: number }> }>)
frontend/src/stores/simulation.ts:196
↓ 3 callers
Function
create_access_token
(sub, role)
backend/auth.py:50
↓ 3 callers
Method
delete_scenario
删除指定场景,返回是否成功(False 表示场景不存在)。
backend/store.py:221
↓ 3 callers
Method
from_dict
(cls, d: dict)
backend/models.py:43
↓ 3 callers
Method
get_baseline
返回当前基线场景(完整记录),若无基线返回 None。
backend/store.py:248
↓ 3 callers
Method
load_latest_stats
(self)
backend/persistence/db.py:72
↓ 3 callers
Function
makeLabel
(text: string, color: string, pixelOffsetY: number)
frontend/src/composables/use-cesium-scene.ts:171
↓ 3 callers
Function
make_engine
()
tests/test_core_correctness.py:14
↓ 3 callers
Function
mockHealthOffline
(page: Page)
frontend/e2e/fixtures/api-mocks.ts:157
↓ 3 callers
Function
refreshAll
Fetch all backend data in parallel and update store state.
frontend/src/stores/simulation.ts:215
↓ 3 callers
Method
relay_can_carry_request
(self, relay_id, required_rate, req)
backend/scheduling/scheduler.py:30
↓ 3 callers
Function
req
(dt, size)
tests/test_core_correctness.py:33
↓ 3 callers
Function
run
启动 Flask 开发服务器。 host / port 优先使用调用方传入的值;未传入时读取环境变量 (SMARTNODE_HOST / SMARTNODE_PORT),最终回退到历史默认值。
backend/api.py:1729
↓ 3 callers
Method
save_stats_snapshot
(self, stats: dict)
backend/persistence/db.py:65
↓ 3 callers
Method
switch_to
将引擎资源配置切换为指定场景。 Parameters ---------- name: 目标场景名称。 engine: ``SimulationEngine`` 实例。
backend/store.py:258
↓ 3 callers
Method
url
Build a fully-qualified URL for the given API path.
frontend/src/api/client.ts:91
↓ 2 callers
Function
_advance
手动步进引擎仿真时间(不依赖实时线程)。 Args: eng: autostart=False 的引擎 total: 要推进的仿真时间(秒) step: 单步时间增量(秒)
tests/test_regression_golden.py:76
↓ 2 callers
Method
_avg_relay_utilization
计算所有 GEO 中继的平均带宽利用率(0.0 ~ 1.0)。
backend/scheduling/qos.py:183
↓ 2 callers
Function
_cache_is_fresh
检查缓存文件是否在 TTL 期限内。
backend/physics/tle_source.py:142
↓ 2 callers
Method
_calculate_multi_hop_relay_rate
多跳中继速率,叠加两个 GEO 天线的扫描约束与损耗。
backend/core.py:2027
↓ 2 callers
Function
_eci_to_lla
ECI(km) -> (lat°, lon°, alt_m) via ECEF,使用 WGS-84 椭球。
backend/physics/propagator.py:54
↓ 2 callers
Function
_ensure_cache_dir
确保缓存目录存在。
backend/physics/tle_source.py:97
↓ 2 callers
Function
_epoch_from_line1
从 TLE 第一行提取历元时间字符串(ISO 格式 UTC)。 TLE line1 格式:字段 3 = 年份(2位) + 年内天数(小数),位于列 18-32。
backend/physics/tle_source.py:197
↓ 2 callers
Function
_fixed_payload
生成固定类型的请求载荷,用于场景化压测。
tests/load/locustfile.py:55
↓ 2 callers
Method
_generate_background_tasks
自动生成背景回传任务
backend/core.py:646
↓ 2 callers
Method
_get_beam_manager
返回站点/卫星对应的 BeamPointing 管理器(不存在则返回 None)。
backend/core.py:1956
↓ 2 callers
Function
_gmst
格林尼治平恒星时 (GMST) 近似,返回弧度。 使用简化公式(精度约 0.5 弧秒): GMST = 100.4606184 + 36000.77004 * T0 + 0.000387933 * T0^2 + ω_earth * UT1 其中 T0 是自 J2000.0
backend/physics/propagator.py:60
↓ 2 callers
Function
_http_get
执行 HTTP GET 请求,返回响应文本。
backend/physics/tle_source.py:310
↓ 2 callers
Method
_interrupt_request
(self, req, reason_code="LINK_INTERRUPTED")
backend/core.py:1218
↓ 2 callers
Function
_is_int
(v)
backend/schemas.py:22
↓ 2 callers
Function
_is_number
(v)
backend/schemas.py:18
↓ 2 callers
Function
_meta_path
返回指定分组的元数据文件路径(.meta.json)。
backend/physics/tle_source.py:108
↓ 2 callers
Function
_normalize_endpoint
Collapse dynamic path segments to reduce cardinality.
backend/metrics.py:268
↓ 2 callers
Function
_parse_positive_int
将查询参数解析为正整数,非法时返回校验错误响应(None 表示解析成功)。
backend/api.py:195
↓ 2 callers
Method
_rebuild_requests
将 to_dict() 序列化的请求列表还原为 TransmissionRequest 实例。 注意:不调用 __init__,而是直接构造最小实例再按字段赋值, 以避免触发 ID 自增、副作用初始化等逻辑。
backend/snapshot.py:195
↓ 2 callers
Method
_row_to_dict
将 sqlite3.Row 转换为带类型解码的 dict。
backend/store.py:101
↓ 2 callers
Function
_run_scenario_raw_image_direct
场景 2: RAW_IMAGE 仅直连。 RAW_IMAGE 的 allowed_links=["direct"] 决定了中继路径被跳过; 当卫星与某地面站当前可见时,transmission_method 必须为 "direct"。
tests/test_regression_golden.py:157
↓ 2 callers
Function
_run_scenario_wait_timeout
场景 4: 等待超时 (TIMEOUT_WAIT)。 通过占用所有地面站的资源使 RAW_IMAGE 进入「等待过境」状态(accepted); 随后手动推进仿真时间至 max_delay + 1 秒,触发 TIMEOUT_WAIT 拒绝逻辑。 注:max_delay=7
tests/test_regression_golden.py:225
↓ 2 callers
Function
_write_cache
将拉取的 TLE 原始文本写入缓存文件并更新元数据。
backend/physics/tle_source.py:114
↓ 2 callers
Function
advance_engine
手动步进引擎仿真时间(不依赖实时线程)。 Args: eng: 仿真引擎实例(autostart=False) total_seconds: 要推进的总仿真时间(秒) step: 每步的时间增量(秒),默认 10 秒
tests/fixtures/scenarios.py:60
↓ 2 callers
Function
applyTheme
Apply the current theme to <html> on first module load.
frontend/src/composables/use-theme.ts:30
↓ 2 callers
Method
apply_link_assignment
(self, req, satellite, link)
backend/scheduling/scheduler.py:68
↓ 2 callers
Method
check
返回 (allowed, remaining, retry_after_seconds)。
backend/ratelimit.py:21
↓ 2 callers
Function
check_geo_visibility_enu
精确 LEO-GEO 可见性判断(卫星间连通性)。 从 LEO 卫星视角判断 GEO 卫星是否在地平线以上(即两星之间的连线不被地球遮挡)。 原 ``orbit.check_geo_visibility`` 使用固定 80° 地心角阈值,本函数改用 真实仰角阈值:以 LEO
backend/physics/geometry.py:259
↓ 2 callers
Function
check_los_visibility
检验两颗卫星之间视线是否被地球遮挡(WGS-84 椭球)。 采用椭球参数方程求解直线与椭球的交点:将地球缩放为标准单位球, 在缩放坐标系中判断线段是否与单位球相交。 Parameters ---------- sat1_pos : dict
backend/comms/laser_isl.py:324
↓ 2 callers
Function
check_visibility_enu
基于精确 ENU 拓扑坐标判断卫星可见性。 替换 ``orbit.check_visibility`` 中的大圆中心角近似,改用 WGS-84 ECEF 拓扑坐标精确求仰角,可见性判据改为基于真实仰角阈值。 参数 ---- sat_pos : dict
backend/physics/geometry.py:222
↓ 2 callers
Method
close
(self)
backend/persistence/db.py:106
↓ 2 callers
Function
computeCoverageRadius
* Compute the ground coverage radius (in meters) for a satellite/relay * given its orbital altitude and minimum elevation angle. * * Geometry (sphe
frontend/src/composables/use-cesium-scene.ts:48
↓ 2 callers
Function
create_token
(sub, role, token_type, ttl)
backend/auth.py:44
↓ 2 callers
Function
decode_token
解码并校验 JWT(过期/篡改会抛出异常)。
backend/auth.py:58
↓ 2 callers
Function
ecef_to_lla
ECEF(km) -> (纬度°, 经度°, 高度 m),WGS-84 椭球迭代解纬度/高度。
backend/physics/coordinates.py:24
↓ 2 callers
Function
eci_to_ecef
ECI -> ECEF:绕地轴旋转 theta(GMST 或 ω·dt,单位弧度)。
backend/physics/coordinates.py:18
↓ 2 callers
Method
filter_allowed_link_types
根据安全级别过滤允许的链路类型列表。 例如 top_secret 请求移除 "direct" 选项,仅保留 "relay"。 Args: req: 传输请求对象。 allowed_links: 原始 allowed_
backend/scheduling/qos.py:105
↓ 2 callers
Method
find_best_available_link
(self, req, satellite, sat_pos)
backend/scheduling/scheduler.py:35
↓ 2 callers
Function
get_bind_host
()
backend/config.py:55
↓ 2 callers
Function
get_bind_port
()
backend/config.py:70
↓ 2 callers
Function
get_jwt_secret
()
backend/config.py:42
↓ 2 callers
Function
get_logger
返回已绑定名称的结构化 logger。 若 structlog 不可用,回退到标准库 Logger。
backend/logging_config.py:116
← previous
next →
101–200 of 1,201, ranked by callers