public NProgDistributed.TheIce.MessageDto Send(NProgDistributed.TheIce.MessageDto message, _System.Collections.Generic.Dictionary <string, string> context__, Ice.Instrumentation.InvocationObserver observer__)
 {
     IceInternal.Outgoing og__ = handler__.getOutgoing("Send", Ice.OperationMode.Normal, context__, observer__);
     try
     {
         try
         {
             IceInternal.BasicStream os__ = og__.startWriteParams(Ice.FormatType.DefaultFormat);
             os__.writeObject(message);
             os__.writePendingObjects();
             og__.endWriteParams();
         }
         catch (Ice.LocalException ex__)
         {
             og__.abort(ex__);
         }
         bool ok__ = og__.invoke();
         try
         {
             if (!ok__)
             {
                 try
                 {
                     og__.throwUserException();
                 }
                 catch (Ice.UserException ex__)
                 {
                     throw new Ice.UnknownUserException(ex__.ice_name(), ex__);
                 }
             }
             IceInternal.BasicStream            is__ = og__.startReadParams();
             NProgDistributed.TheIce.MessageDto ret__;
             IceInternal.ParamPatcher <NProgDistributed.TheIce.MessageDto> ret__PP = new IceInternal.ParamPatcher <NProgDistributed.TheIce.MessageDto>(NProgDistributed.TheIce.MessageDto.ice_staticId());
             is__.readObject(ret__PP);
             is__.readPendingObjects();
             og__.endReadParams();
             ret__ = ret__PP.value;
             return(ret__);
         }
         catch (Ice.LocalException ex__)
         {
             throw new IceInternal.LocalExceptionWrapper(ex__, false);
         }
     }
     finally
     {
         handler__.reclaimOutgoing(og__);
     }
 }
 public static Ice.DispatchStatus Send___(IMessageService obj__, IceInternal.Incoming inS__, Ice.Current current__)
 {
     checkMode__(Ice.OperationMode.Normal, current__.mode);
     IceInternal.BasicStream is__ = inS__.startReadParams();
     IceInternal.ParamPatcher <NProgDistributed.TheIce.MessageDto> message__PP = new IceInternal.ParamPatcher <NProgDistributed.TheIce.MessageDto>(NProgDistributed.TheIce.MessageDto.ice_staticId());
     is__.readObject(message__PP);
     is__.readPendingObjects();
     inS__.endReadParams();
     NProgDistributed.TheIce.MessageDto ret__ = obj__.Send(message__PP.value, current__);
     IceInternal.BasicStream            os__  = inS__.startWriteParams__(Ice.FormatType.DefaultFormat);
     os__.writeObject(ret__);
     os__.writePendingObjects();
     inS__.endWriteParams__(true);
     return(Ice.DispatchStatus.DispatchOK);
 }
 public NProgDistributed.TheIce.MessageDto Send(NProgDistributed.TheIce.MessageDto message, _System.Collections.Generic.Dictionary <string, string> context__, Ice.Instrumentation.InvocationObserver observer__)
 {
     Ice.Current current__ = new Ice.Current();
     initCurrent__(ref current__, "Send", Ice.OperationMode.Normal, context__);
     NProgDistributed.TheIce.MessageDto result__ = null;
     IceInternal.Direct.RunDelegate run__ = delegate(Ice.Object obj__)
     {
         IMessageService servant__ = null;
         try
         {
             servant__ = (IMessageService)obj__;
         }
         catch (_System.InvalidCastException)
         {
             throw new Ice.OperationNotExistException(current__.id, current__.facet, current__.operation);
         }
         result__ = servant__.Send(message, current__);
         return(Ice.DispatchStatus.DispatchOK);
     };
     IceInternal.Direct direct__ = null;
     try
     {
         direct__ = new IceInternal.Direct(current__, run__);
         try
         {
             Ice.DispatchStatus status__ = direct__.getServant().collocDispatch__(direct__);
             _System.Diagnostics.Debug.Assert(status__ == Ice.DispatchStatus.DispatchOK);
         }
         finally
         {
             direct__.destroy();
         }
     }
     catch (Ice.SystemException)
     {
         throw;
     }
     catch (_System.Exception ex__)
     {
         IceInternal.LocalExceptionWrapper.throwWrapper(ex__);
     }
     return(result__);
 }
            private NProgDistributed.TheIce.MessageDto Send(NProgDistributed.TheIce.MessageDto message, _System.Collections.Generic.Dictionary <string, string> context__, bool explicitContext__)
            {
                if (explicitContext__ && context__ == null)
                {
                    context__ = emptyContext_;
                }
                Ice.Instrumentation.InvocationObserver observer__ = IceInternal.ObserverHelper.get(this, __Send_name, context__);
                int cnt__ = 0;

                try
                {
                    while (true)
                    {
                        Ice.ObjectDel_ delBase__ = null;
                        try
                        {
                            checkTwowayOnly__(__Send_name);
                            delBase__ = getDelegate__(false);
                            IMessageServiceDel_ del__ = (IMessageServiceDel_)delBase__;
                            return(del__.Send(message, context__, observer__));
                        }
                        catch (IceInternal.LocalExceptionWrapper ex__)
                        {
                            handleExceptionWrapper__(delBase__, ex__, observer__);
                        }
                        catch (Ice.LocalException ex__)
                        {
                            handleException__(delBase__, ex__, true, ref cnt__, observer__);
                        }
                    }
                }
                finally
                {
                    if (observer__ != null)
                    {
                        observer__.detach();
                    }
                }
            }
 public abstract NProgDistributed.TheIce.MessageDto Send(NProgDistributed.TheIce.MessageDto message, Ice.Current current__);
 public NProgDistributed.TheIce.MessageDto Send(NProgDistributed.TheIce.MessageDto message)
 {
     return(Send(message, Ice.ObjectImpl.defaultCurrent));
 }
 private Ice.AsyncResult <NProgDistributed.TheIce.Callback_IMessageService_Send> begin_Send(NProgDistributed.TheIce.MessageDto message, _System.Collections.Generic.Dictionary <string, string> ctx__, bool explicitContext__, Ice.AsyncCallback cb__, object cookie__)
 {
     checkAsyncTwowayOnly__(__Send_name);
     IceInternal.TwowayOutgoingAsync <NProgDistributed.TheIce.Callback_IMessageService_Send> result__ = new IceInternal.TwowayOutgoingAsync <NProgDistributed.TheIce.Callback_IMessageService_Send>(this, __Send_name, Send_completed__, cookie__);
     if (cb__ != null)
     {
         result__.whenCompletedWithAsyncCallback(cb__);
     }
     try
     {
         result__.prepare__(__Send_name, Ice.OperationMode.Normal, ctx__, explicitContext__);
         IceInternal.BasicStream os__ = result__.startWriteParams__(Ice.FormatType.DefaultFormat);
         os__.writeObject(message);
         os__.writePendingObjects();
         result__.endWriteParams__();
         result__.send__(true);
     }
     catch (Ice.LocalException ex__)
     {
         result__.exceptionAsync__(ex__);
     }
     return(result__);
 }
 public Ice.AsyncResult begin_Send(NProgDistributed.TheIce.MessageDto message, _System.Collections.Generic.Dictionary <string, string> ctx__, Ice.AsyncCallback cb__, object cookie__)
 {
     return(begin_Send(message, ctx__, true, cb__, cookie__));
 }
 public Ice.AsyncResult begin_Send(NProgDistributed.TheIce.MessageDto message, Ice.AsyncCallback cb__, object cookie__)
 {
     return(begin_Send(message, null, false, cb__, cookie__));
 }
 public Ice.AsyncResult <NProgDistributed.TheIce.Callback_IMessageService_Send> begin_Send(NProgDistributed.TheIce.MessageDto message, _System.Collections.Generic.Dictionary <string, string> ctx__)
 {
     return(begin_Send(message, ctx__, true, null, null));
 }
 public Ice.AsyncResult <NProgDistributed.TheIce.Callback_IMessageService_Send> begin_Send(NProgDistributed.TheIce.MessageDto message)
 {
     return(begin_Send(message, null, false, null, null));
 }
 public NProgDistributed.TheIce.MessageDto Send(NProgDistributed.TheIce.MessageDto message, _System.Collections.Generic.Dictionary <string, string> context__)
 {
     return(Send(message, context__, true));
 }
 public NProgDistributed.TheIce.MessageDto Send(NProgDistributed.TheIce.MessageDto message)
 {
     return(Send(message, null, false));
 }