示例#1
0
文件: Test.cs 项目: TimePath/major
 static void Threading()
 {
     var c = new ProtoConnection ();
     var callbacks = new CallbackMonitor ();
     Random random = new Random();
     new Thread (() => {
         while (true) {
             c.Callback (callbacks, c.CreateBuilder ()
                 .SetFiles (ListResponse.CreateBuilder ().Build ())
                 .Build ());
             Thread.Sleep(random.Next(0, 10));
         }
     }).Start ();
     new Thread (() => {
         while (true) {
             c.Write<ListResponse> (null);
             Thread.Sleep(random.Next(0, 10));
         }
     }).Start ();
     new Thread (() => {
         while (true) {
             c.Callback (callbacks, c.CreateBuilder ()
                 .SetChunk(FileChunk.CreateBuilder().Build())
                 .Build ());
             Thread.Sleep(random.Next(0, 10));
         }
     }).Start ();
     new Thread (() => {
         while (true) {
             c.Write<FileChunk> (null);
             Thread.Sleep(random.Next(0, 10));
         }
     }).Start ();
 }
示例#2
0
文件: Test.cs 项目: TimePath/major
 static void Benchmark()
 {
     ProtoConnection c = new ProtoConnection (new IPEndPoint (IPAddress.Parse ("127.0.0.1"), 9001));
     c.Connect (true);
     for (int i = 0; i < 100000; i++) {
         ListResponse fl = c.Write<ListResponse> (c.CreateBuilder ()
             .SetListRequest (ListRequest.CreateBuilder ()
                 .SetPath ("/")
                 .Build ())
             .Build ());
         logger.Log (i % 1000 == 0 ? NLog.LogLevel.Info : NLog.LogLevel.Debug, fl.GetFile (0));
     }
 }
示例#3
0
 public void Connect(string user, string password)
 {
     conn = new Connection (new IPEndPoint (IPAddress.Parse ("127.0.0.1"), 9001));
     conn.Connect (true);
     logger.Info ("Connected", user, password);
     new Thread (() => {
         VFSConsumer c = new FUSEConsumer ();
         AppDomain.CurrentDomain.ProcessExit += (s, e) => {
             logger.Debug ("Process exiting");
             c.Stop ();
         };
         c.Start (new NetProvider (conn), opts);
         logger.Debug ("Finished");
     }).Start ();
 }
示例#4
0
 public NetProvider(ProtoConnection conn)
 {
     if (conn == null)
         throw new ArgumentNullException ("conn");
     this.conn = conn;
 }