Make context mutable!
This commit is contained in:
@@ -159,7 +159,7 @@ impl RustCompiler {
|
|||||||
)
|
)
|
||||||
})
|
})
|
||||||
.collect::<Vec<String>>();
|
.collect::<Vec<String>>();
|
||||||
params.push("ctx: &Self::Context".to_string());
|
params.push("ctx: &mut Self::Context".to_string());
|
||||||
let params = params.join(", ");
|
let params = params.join(", ");
|
||||||
|
|
||||||
let ret = method
|
let ret = method
|
||||||
@@ -218,7 +218,7 @@ impl RustCompiler {
|
|||||||
|
|
||||||
f.a1("#[allow(non_snake_case)]");
|
f.a1("#[allow(non_snake_case)]");
|
||||||
f.a1(
|
f.a1(
|
||||||
"async fn handle(&self, msg: &JRPCRequest, function: &str, ctx: &Self::Context) -> Result<(bool, Value)> {",
|
"async fn handle(&self, msg: &JRPCRequest, function: &str, ctx: &mut Self::Context) -> Result<(bool, Value)> {",
|
||||||
);
|
);
|
||||||
f.a2("match function {");
|
f.a2("match function {");
|
||||||
|
|
||||||
|
|||||||
@@ -112,7 +112,7 @@ pub trait JRPCServerService: Send + Sync {
|
|||||||
&self,
|
&self,
|
||||||
request: &JRPCRequest,
|
request: &JRPCRequest,
|
||||||
function: &str,
|
function: &str,
|
||||||
ctx: &Self::Context,
|
ctx: &mut Self::Context,
|
||||||
) -> Result<(bool, Value)>;
|
) -> Result<(bool, Value)>;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -165,12 +165,12 @@ impl<Context: Send + Sync + 'static> JRPCSession<Context> {
|
|||||||
pub fn handle_request(&self, request: JRPCRequest, ctx: Context) -> () {
|
pub fn handle_request(&self, request: JRPCRequest, ctx: Context) -> () {
|
||||||
let session = self.clone();
|
let session = self.clone();
|
||||||
tokio::task::spawn(async move {
|
tokio::task::spawn(async move {
|
||||||
let context = ctx;
|
let mut context = ctx;
|
||||||
session.handle_request_awaiting(request, &context).await;
|
session.handle_request_awaiting(request, &mut context).await;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
pub async fn handle_request_awaiting(&self, request: JRPCRequest, ctx: &Context) -> () {
|
pub async fn handle_request_awaiting(&self, request: JRPCRequest, ctx: &mut Context) -> () {
|
||||||
info!("Received request: {}", request.method);
|
info!("Received request: {}", request.method);
|
||||||
trace!("Request data: {:?}", request);
|
trace!("Request data: {:?}", request);
|
||||||
let method: Vec<&str> = request.method.split('.').collect();
|
let method: Vec<&str> = request.method.split('.').collect();
|
||||||
|
|||||||
Reference in New Issue
Block a user