aboutsummaryrefslogblamecommitdiffstats
path: root/library/cpp/messagebus/handler_impl.h
blob: ae4d82340098f0268d81be7fc9d29fb24f106503 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
            
                        

                    


                                                                               
 

                                                                                         
 
                                                                    
                                                                      
                          
 
#pragma once

#include "handler.h"
#include "local_flags.h"
#include "session.h"

namespace NBus {
    template <typename U /* <: TBusMessage */>
    EMessageStatus TOnMessageContext::SendReplyAutoPtr(TAutoPtr<U>& response) {
        return Session->SendReplyAutoPtr(Ident, response);
    }

    inline EMessageStatus TOnMessageContext::SendReplyMove(TBusMessageAutoPtr response) {
        return SendReplyAutoPtr(response);
    }

    inline void TOnMessageContext::AckMessage(TBusIdentity& ident) {
        Y_ABORT_UNLESS(Ident.LocalFlags == NPrivate::MESSAGE_IN_WORK);
        Y_ABORT_UNLESS(ident.LocalFlags == 0);
        Ident.Swap(ident);
    }

}