예제 #1
0
        public override void SendFile(int ca, int ioa, NameOfFile nof, IFileProvider fileProvider)
        {
            if (fileClient == null)
            {
                fileClient = new FileClient(this, DebugLog);
            }

            fileClient.SendFile(ca, ioa, nof, fileProvider);
        }
예제 #2
0
        public override void GetFile(int ca, int ioa, NameOfFile nof, IFileReceiver receiver)
        {
            if (fileClient == null)
            {
                fileClient = new FileClient(this, DebugLog);
            }

            fileClient.RequestFile(ca, ioa, nof, receiver);
        }
예제 #3
0
        public CS101MasterUnbalanced(SerialPort port, LinkLayerParameters llParameters)
        {
            this.linkLayerParameters = llParameters;
            this.transceiver         = new SerialTransceiverFT12(port, linkLayerParameters, DebugLog);

            linkLayer = new LinkLayer(buffer, linkLayerParameters, transceiver, DebugLog);
            linkLayer.LinkLayerMode = LinkLayerMode.UNBALANCED;

            linkLayerUnbalanced = new PrimaryLinkLayerUnbalanced(linkLayer, this, DebugLog);
            linkLayer.SetPrimaryLinkLayer(linkLayerUnbalanced);

            this.fileClient = null;
        }
예제 #4
0
        public CS101MasterBalanced(SerialPort port, LinkLayerParameters llParameters)
        {
            this.port = port;
            this.linkLayerParameters = llParameters;
            this.transceiver         = new SerialTransceiverFT12(port, linkLayerParameters, DebugLog);

            linkLayer = new LinkLayer(buffer, linkLayerParameters, transceiver, DebugLog);

            primaryLinkLayer = new PrimaryLinkLayerBalanced(linkLayer, GetUserData, DebugLog);

            linkLayer.SetPrimaryLinkLayer(primaryLinkLayer);
            linkLayer.SetSecondaryLinkLayer(new SecondaryLinkLayerBalanced(linkLayer, 0, HandleApplicationLayer, DebugLog));

            this.fileClient = null;
        }
예제 #5
0
        public CS101Master(SerialPort port, LinkLayerMode mode, LinkLayerParameters llParams = null, ApplicationLayerParameters alParams = null)
        {
            if (llParams == null)
            {
                this.linkLayerParameters = new LinkLayerParameters();
            }
            else
            {
                this.linkLayerParameters = llParams;
            }

            if (alParams == null)
            {
                this.appLayerParameters = new ApplicationLayerParameters();
            }
            else
            {
                this.appLayerParameters = alParams;
            }


            this.transceiver = new SerialTransceiverFT12(port, linkLayerParameters, DebugLog);

            linkLayer = new LinkLayer(buffer, linkLayerParameters, transceiver, DebugLog);
            linkLayer.LinkLayerMode = mode;

            if (mode == LinkLayerMode.BALANCED)
            {
                linkLayer.DIR = true;

                primaryLinkLayer = new PrimaryLinkLayerBalanced(linkLayer, GetUserData, DebugLog);

                linkLayer.SetPrimaryLinkLayer(primaryLinkLayer);
                secondaryLinkLayer = new SecondaryLinkLayerBalanced(linkLayer, 0, HandleApplicationLayer, DebugLog);
                linkLayer.SetSecondaryLinkLayer(secondaryLinkLayer);

                userDataQueue = new Queue <BufferFrame>();
            }
            else
            {
                linkLayerUnbalanced = new PrimaryLinkLayerUnbalanced(linkLayer, this, DebugLog);
                linkLayer.SetPrimaryLinkLayer(linkLayerUnbalanced);
            }

            this.port = port;

            this.fileClient = null;
        }