@Override
    public SofaResponse syncSend(SofaRequest request, int timeout) throws SofaRpcException {
        SofaResponse sofaResponse = null;
        SofaRpcException throwable = null;

        try {
            RpcInternalContext context = RpcInternalContext.getContext();
            beforeSend(context, request);
            RpcInvokeContext invokeContext = RpcInvokeContext.getContext();
            invokeContext.put(TripleContants.SOFA_REQUEST_KEY, request);
            invokeContext.put(TripleContants.SOFA_CONSUMER_CONFIG_KEY, transportConfig.getConsumerConfig());
            sofaResponse = tripleClientInvoker.invoke(request, timeout);
            return sofaResponse;
        } catch (Exception e) {
            throwable = convertToRpcException(e);
            throw throwable;
        } finally {
            if (EventBus.isEnable(ClientAfterSendEvent.class)) {
                EventBus.post(new ClientAfterSendEvent(request));
            }
            if (EventBus.isEnable(ClientSyncReceiveEvent.class)) {
                EventBus.post(new ClientSyncReceiveEvent(transportConfig.getConsumerConfig(),
                        transportConfig.getProviderInfo(), request, sofaResponse, throwable));
            }
        }
    }
The constructor

@param transportConfig transport config
remoting/remoting-triple/src/main/java/com/alipay/sofa/rpc/transport/triple/TripleClientTransport.java