/// <summary>
        /// ファイルをメモリに読み込んで送信の準備をする。
        /// </summary>
        /// <param name="xmitFragmentBytes">各スレッドの送出バイト数</param>
        /// <returns>送出するファイルのバイト数</returns>
        public long SetupXmitTasks(string path, int xmitFragmentBytes)
        {
            mXmitTaskList = new List<XmitTask>();

            long pos = 0;
            using (var br = new BinaryReader(File.Open(path, FileMode.Open, FileAccess.Read))) {
                do {
                    var buff = br.ReadBytes(xmitFragmentBytes);
                    if (buff.Length == 0) {
                        break;
                    }

                    var xt = new XmitTask(pos, buff.Length, buff);
                    mXmitTaskList.Add(xt);
                    pos += buff.Length;
                } while (true);
            }

            return pos;
        }
예제 #2
0
        /// <summary>
        /// ファイルをメモリに読み込んで送信の準備をする。
        /// </summary>
        /// <param name="xmitFragmentBytes">各スレッドの送出バイト数</param>
        /// <returns>送出するファイルのバイト数</returns>
        public long SetupXmitTasks(string path, int xmitFragmentBytes)
        {
            mXmitTaskList = new List <XmitTask>();

            long pos = 0;

            using (var br = new BinaryReader(File.Open(path, FileMode.Open, FileAccess.Read))) {
                do
                {
                    var buff = br.ReadBytes(xmitFragmentBytes);
                    if (buff.Length == 0)
                    {
                        break;
                    }

                    var xt = new XmitTask(pos, buff.Length, buff);
                    mXmitTaskList.Add(xt);
                    pos += buff.Length;
                } while (true);
            }

            return(pos);
        }
예제 #3
0
 public void AssignTask(XmitTask task)
 {
     this.task = task;
     taskAssigned.Set();
 }
 public void AssignTask(XmitTask task)
 {
     this.task = task;
     taskAssigned.Set();
 }