예제 #1
0
 public Runner(ServiceIdentity i_serviceIdentity, PrivateIdentity i_privateIdentity, Params ps)
 {
     serviceIdentity = i_serviceIdentity;
     privateIdentity = i_privateIdentity;
     scheduler       = IoScheduler.CreateServer(privateIdentity, ps.LocalHostNameOrAddress, ps.LocalPort,
                                                serviceIdentity.Servers, ps.Verbose);
 }
예제 #2
0
 public static NetClient Create(PrivateIdentity myIdentity, string localHostNameOrAddress, int localPort,
                                List <PublicIdentity> knownIdentities, bool verbose, int maxSendRetries = 3)
 {
     try
     {
         var scheduler = IoScheduler.CreateServer(myIdentity, localHostNameOrAddress, localPort, knownIdentities,
                                                  verbose, maxSendRetries);
         var myPublicKey = IoScheduler.GetCertificatePublicKey(scheduler.MyCert);
         if (myPublicKey.Length > MaxPublicKeySize)
         {
             System.Console.Error.WriteLine("ERROR:  The provided public key for my identity is too big ({0} > {1} bytes)",
                                            myPublicKey.Length, MaxPublicKeySize);
             return(null);
         }
         return(new NetClient(scheduler));
     }
     catch (Exception e)
     {
         System.Console.Error.WriteLine(e);
         return(null);
     }
 }