syntax = "proto3";
option go_package = "./pb";

package pb;

import "models/model_login_session.proto";
import "models/rpc_messages.proto";

// 登录SESSION服务
service LoginSessionService {
	// 写入SESSION数据
	rpc writeLoginSessionValue(WriteLoginSessionValueRequest) returns (RPCSuccess);

	// 删除SESSION
	rpc deleteLoginSession(DeleteLoginSessionRequest) returns (RPCSuccess);

	// 查找SESSION
	rpc findLoginSession(FindLoginSessionRequest) returns (FindLoginSessionResponse);

	// 清理老的SESSION
	rpc clearOldLoginSessions(ClearOldLoginSessionsRequest) returns (RPCSuccess);
}

// 写入SESSION数据
message WriteLoginSessionValueRequest {
	string sid = 1; // SESSION ID
	string key = 2; // 数据Key
	string value = 3; // 数据值
}

// 删除SESSION
message DeleteLoginSessionRequest {
	string sid = 1; // SESSION ID
}

// 查找SESSION
message FindLoginSessionRequest {
	string sid = 1; // SESSION ID
}

message FindLoginSessionResponse {
	LoginSession loginSession = 1; // SESSION信息
}

// 清理老的SESSION
message ClearOldLoginSessionsRequest {
	string sid = 1; // 当前SESSION ID
	string ip = 2; // 当前操作IP
}