![JAR search and dependency download from the Maven repository](/logo.png)
jlibs.wamp4j.router.CallRequest Maven / Gradle / Ivy
/**
* Copyright 2015 Santhosh Kumar Tekuri
*
* The JLibs authors license this file to you under the Apache License,
* version 2.0 (the "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at:
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*/
package jlibs.wamp4j.router;
import com.fasterxml.jackson.core.JsonParser;
import jlibs.wamp4j.error.ErrorCode;
import jlibs.wamp4j.msg.*;
/**
* @author Santhosh Kumar Tekuri
*/
class CallRequest{
public final long callID;
final Procedure procedure;
public final Session callSession;
public CallRequest(long callID, Procedure procedure, Session callSession){
this.callID = callID;
this.procedure = procedure;
this.callSession = callSession;
}
public void reply(long requestID, JsonParser yield) throws Throwable{
assert procedure.requests.get(requestID)==this;
procedure.requests.remove(requestID);
callSession.send(callSession.resultMessage(callID, yield));
}
public void error(long requestID, JsonParser error) throws Throwable{
assert procedure.requests.get(requestID)==this;
procedure.requests.remove(requestID);
callSession.send(callSession.errorMessage(CallMessage.ID, callID, error));
}
public void error(ErrorCode errorCode) throws Throwable{
callSession.send(callSession.errorMessage(CallMessage.ID, callID, errorCode));
}
public void noSuchProcedure() throws Throwable{
error(ErrorCode.noSuchProcedure(procedure.uri()));
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy