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

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