Skip to content

core.jobs.openrpc #

fn new_ws_server #

fn new_ws_server(port int) !&WSServer

Create new WebSocket server

fn server_start #

fn server_start() !

Create new OpenRPC server with Redis connection

struct OpenRPCRequest #

struct OpenRPCRequest {
pub mut:
	jsonrpc string @[required]
	method  string @[required]
	params  []string
	id      int @[required]
}

Generic OpenRPC request/response structures

struct OpenRPCResponse #

struct OpenRPCResponse {
pub mut:
	jsonrpc string @[required]
	result  string
	error   string
	id      int @[required]
}

struct OpenRPCServer #

struct OpenRPCServer {
mut:
	redis  &redisclient.Redis
	queue  &redisclient.RedisQueue
	runner &model.HeroRunner
}

Generic OpenRPC server that handles all managers

fn (OpenRPCServer) handle_request_agent #

fn (mut h OpenRPCServer) handle_request_agent(request OpenRPCRequest) !OpenRPCResponse

fn (OpenRPCServer) handle_request_group #

fn (mut h OpenRPCServer) handle_request_group(request OpenRPCRequest) !OpenRPCResponse

fn (OpenRPCServer) handle_request_job #

fn (mut h OpenRPCServer) handle_request_job(request OpenRPCRequest) !OpenRPCResponse

fn (OpenRPCServer) handle_request_service #

fn (mut h OpenRPCServer) handle_request_service(request OpenRPCRequest) !OpenRPCResponse

fn (OpenRPCServer) start #

fn (mut s OpenRPCServer) start() !

Start the server and listen for requests

struct WSServer #

struct WSServer {
mut:
	redis &redisclient.Redis
	queue &redisclient.RedisQueue
	port  int = 8080 // Default port, can be configured
}

WebSocket server that receives RPC requests

fn (WSServer) start #

fn (mut s WSServer) start() !

Start the WebSocket server