public NProgDistributed.TheIce.MessageDto Send(NProgDistributed.TheIce.MessageDto message)
 {
     return Send(message, Ice.ObjectImpl.defaultCurrent);
 }
 public abstract NProgDistributed.TheIce.MessageDto Send(NProgDistributed.TheIce.MessageDto message, Ice.Current current__);
 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 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 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__;
 }
 private void Send_completed__(Ice.AsyncResult r__, NProgDistributed.TheIce.Callback_IMessageService_Send cb__, Ice.ExceptionCallback excb__)
 {
     NProgDistributed.TheIce.MessageDto ret__;
     try
     {
         ret__ = end_Send(r__);
     }
     catch(Ice.Exception ex__)
     {
         if(excb__ != null)
         {
             excb__(ex__);
         }
         return;
     }
     if(cb__ != null)
     {
         cb__(ret__);
     }
 }
 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 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<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);
 }
 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 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);
 }