Trait rift::server::TProcessor
[−]
[src]
pub trait TProcessor { fn process(
&mut self,
i: &mut TInputProtocol,
o: &mut TOutputProtocol
) -> Result<()>; }
Identifies an auto-generated service-call demultiplexer for a Thrift
service. Users need to instantiate the TProcessor
implementation they
want to handle and pass this instance to a rift::server
implementation.
After the server is started the auto-generated processor will demux
incoming service calls and automatically execute the user's handler code.
Example
Create and start a server using the auto-generated TProcessor
for
a Thrift service SimpleService
.
use generated::{SimpleServiceSyncProcessor, SimpleServiceSyncHandler};
struct SimpleServiceHandlerImpl;
impl SimpleServiceSyncHandler for SimpleServiceHandlerImpl {
fn service_call(&mut self, ...) -> Result<()> {
// ...
}
}
let processor = SimpleServiceSyncProcessor::new(SimpleServiceHandlerImpl {});
let server = TSimpleServer::new(..., processor);
Required Methods
fn process(
&mut self,
i: &mut TInputProtocol,
o: &mut TOutputProtocol
) -> Result<()>
&mut self,
i: &mut TInputProtocol,
o: &mut TOutputProtocol
) -> Result<()>
Process a Thrift service call. Reads arguments from i
, executes the
user-implemented handler and writes the response out to o
.
Returns ()
if the service call was processed. Returns an Err
if
no matching service call could be found, or there was a transport or
protocol error in processing the service call.
Implementors
impl TProcessor for TMultiplexedProcessor