// Add to threadmanager pool
shared_ptr<TThreadPoolServer::Task> task(new TThreadPoolServer::Task(
*this, processor, inputProtocol, outputProtocol, client));
- threadManager_->add(task, timeout_);
+ threadManager_->add(task, timeout_, taskExpiration_);
} catch (TTransportException& ttx) {
if (inputTransport != NULL) { inputTransport->close(); }
timeout_ = value;
}
+int64_t TThreadPoolServer::getTaskExpiration() const {
+ return taskExpiration_;
+}
+
+void TThreadPoolServer::setTaskExpiration(int64_t value) {
+ taskExpiration_ = value;
+}
+
}}} // apache::thrift::server
protocolFactory),
threadManager_(threadManager),
stop_(false),
- timeout_(0) {}
+ timeout_(0),
+ taskExpiration_(0) {}
template<typename Processor>
TThreadPoolServer(
TServer(processor, serverTransport, transportFactory, protocolFactory),
threadManager_(threadManager),
stop_(false),
- timeout_(0) {}
+ timeout_(0),
+ taskExpiration_(0) {}
template<typename ProcessorFactory>
TThreadPoolServer(
inputProtocolFactory, outputProtocolFactory),
threadManager_(threadManager),
stop_(false),
- timeout_(0) {}
+ timeout_(0),
+ taskExpiration_(0) {}
template<typename Processor>
TThreadPoolServer(
inputProtocolFactory, outputProtocolFactory),
threadManager_(threadManager),
stop_(false),
- timeout_(0) {}
+ timeout_(0),
+ taskExpiration_(0) {}
virtual ~TThreadPoolServer();
serverTransport_->interrupt();
}
+ virtual int64_t getTaskExpiration() const;
+
+ virtual void setTaskExpiration(int64_t value);
+
protected:
boost::shared_ptr<ThreadManager> threadManager_;
volatile int64_t timeout_;
+ volatile int64_t taskExpiration_;
+
};
}}} // apache::thrift::server