예제 #1
0
 /**
  * Put on the buffer the needed org.chabu protocol informations: org.chabu version,
  * byte order, payloadsize, channel count
  *
  * These values must be set previous to infoLocal
  *
  */
 void processXmitSetup()
 {
     checkXmitBufEmptyOrThrow("Cannot xmit SETUP, buffer is not empty");
     checkLocalAppNameLength();
     xmitFillSetupPacket(setup.getInfoLocal());
     xmitStartupCompleted = XmitState.PREPARED;
 }
예제 #2
0
 void prepareAbort()
 {
     checkXmitBufEmptyOrThrow("Cannot xmit ABORT, buffer is not empty");
     xmitFillStart(PacketType.ABORT);
     xmitFillAddInt(abortMessage.getCode());
     xmitFillAddstring(ABORT_MSG_MAXLENGTH, abortMessage.getMessage());
     xmitFillComplete();
     xmitAbort = XmitState.PREPARED;
 }
예제 #3
0
 private LoopCtrl xmitAction_EvalNop()
 {
     if (xmitNop == XmitState.PENDING)
     {
         processXmitNop();
         xmitNop = XmitState.PREPARED;
     }
     return(LoopCtrl.None);
 }
예제 #4
0
파일: AbortMessage.cs 프로젝트: 00mjk/Chabu
 public virtual void setPending(int code, String message)
 {
     xmitAbortCode    = code;
     xmitAbortMessage = message;
     xmitAbortPending = XmitState.PENDING;
     if (xmitRequestListener != null)
     {
         xmitRequestListener.Invoke();
     }
 }
예제 #5
0
        public void delayedAbort(int code, string message, params object[] args)
        {
            Utils.ensure(xmitAbort == XmitState.IDLE,
                         ChabuErrorCode.ASSERT,
                         "Abort is already pending while generating Abort from Validator");

            abortMessage.setPending(code, string.Format(message, args));
            xmitAbort = XmitState.PENDING;

            callXmitRequestListener();
        }
예제 #6
0
        protected override void handleNonSeqCompletion()
        {
            switch (packetType)
            {
            case PacketType.NOP:
                xmitNop = XmitState.XMITTED;
                break;

            case PacketType.ABORT:
                xmitAbort = XmitState.XMITTED;
                throwAbort();
                break;

            default: break;
            }
        }
예제 #7
0
        protected override void handleNonSeqCompletion()
        {
            switch (packetType)
            {
            case PacketType.SETUP:
                xmitStartupCompleted = XmitState.XMITTED;
                break;

            case PacketType.ACCEPT:
                xmitAccepted = XmitState.XMITTED;
                break;

            case PacketType.ABORT:
                xmitAbort = XmitState.XMITTED;
                throwAbort();
                break;

            default: break;
            }
            packetType = PacketType.NONE;
        }
예제 #8
0
파일: AbortMessage.cs 프로젝트: 00mjk/Chabu
 public void setXmitted()
 {
     xmitAbortCode    = 0;
     xmitAbortMessage = "";
     xmitAbortPending = XmitState.XMITTED;
 }
예제 #9
0
 protected override void prepareXmitAccept()
 {
     base.prepareXmitAccept();
     xmitAccepted = XmitState.PREPARED;
 }