/** * Dianping.com Inc. * Copyright (c) 2003-2013 All Rights Reserved. */ package com.dianping.pigeon.remoting.provider.domain; import java.util.concurrent.Future; import com.dianping.pigeon.remoting.common.monitor.trace.ProviderMonitorData; import com.dianping.pigeon.remoting.common.domain.InvocationContext; import com.dianping.pigeon.remoting.provider.service.method.ServiceMethod; public interface ProviderContext<M extends ProviderMonitorData> extends InvocationContext<M> { Throwable getServiceError(); void setServiceError(Throwable serviceError); Throwable getFrameworkError(); void setFrameworkError(Throwable frameworkError); ProviderChannel getChannel(); Future<?> getFuture(); void setFuture(Future<?> future); Thread getThread(); void setThread(Thread thread); void setServiceMethod(ServiceMethod serviceMethod); ServiceMethod getServiceMethod(); boolean isAsync(); void setAsync(boolean async); }