use std::{
sync::mpsc::{Receiver, SendError, Sender, TryRecvError},
thread::JoinHandle,
};
pub mod bitbucket;
pub mod fork_point;
pub mod github;
pub mod subtrees;
struct ActorThread<Request, Response> {
_thread: JoinHandle<()>,
receiver: Receiver<Response>,
sender: Sender<Request>,
}
impl<Request, Response> ActorThread<Request, Response> {
fn new(thread: JoinHandle<()>, receiver: Receiver<Response>, sender: Sender<Request>) -> Self {
Self {
_thread: thread,
receiver,
sender,
}
}
fn send(&self, request: Request) -> Result<(), SendError<Request>> {
self.sender.send(request)
}
fn try_recv(&self) -> Result<Response, TryRecvError> {
self.receiver.try_recv()
}
}