コード例 #1
0
ファイル: HttpServer.cs プロジェクト: rfantozzi/manos
 public HttpServer(Context context, HttpConnectionCallback callback, Socket socket, bool closeOnEnd = false)
 {
     this.callback = callback;
     this.socket = socket;
     this.closeOnEnd = closeOnEnd;
     this.Context = context;
 }
コード例 #2
0
ファイル: IdentClient.cs プロジェクト: txdv/Manos.Socks
		public IdentClient(Context context, string server, int port)
		{
			Context = context;
			Server = server;
			Port = port;
			Encoding = Encoding.Default;
		}
コード例 #3
0
ファイル: Socket.cs プロジェクト: rfantozzi/manos
        /// <summary>
        /// Initializes a new instance of the <see cref="Manos.IO.Socket"/> class.
        /// </summary>
        /// <param name='context'>
        /// The context this socket will be bound to.
        /// </param>
        protected Socket(Context context)
        {
            if (context == null)
                throw new ArgumentNullException ("context");

            this.context = context;
        }
コード例 #4
0
ファイル: SignalWatcher.cs プロジェクト: txdv/Mono.Terminal
		public SignalWatcher(Context context, Signum signum, Action callback)
			: this(context, new Signum[] { signum }, (num) => {
				if (callback != null) {
					callback();
				}
			})
		{
		}
コード例 #5
0
ファイル: Socks4Socket.cs プロジェクト: txdv/Manos.Socks
		public Socks4Socket(Context context, string proxyHost, int proxyPort, string userId)
			: base(context)
		{
			Socket = context.CreateSocket();
			ProxyHost = proxyHost;
			ProxyPort = proxyPort;
			UserId = userId;
		}
コード例 #6
0
ファイル: Boundary.cs プロジェクト: nuxleus/manos
        public Boundary(Context context, int maxWorkPerLoop)
        {
            asyncWatcher = context.CreateAsyncWatcher(ProcessWork);
            asyncWatcher.Start();

            workQueue = new ConcurrentQueue<Action>();
            this.maxWorkPerLoop = maxWorkPerLoop;
        }
コード例 #7
0
ファイル: Socket.cs プロジェクト: toptensoftware/manos
 Socket(Context loop, System.Net.Sockets.Socket socket)
     : this(loop)
 {
     this.socket = socket;
     this.address = ((IPEndPoint) socket.RemoteEndPoint).Address.ToString ();
     this.port = ((IPEndPoint) socket.RemoteEndPoint).Port;
     this.state = Socket.SocketState.Open;
 }
コード例 #8
0
ファイル: IrcBot.cs プロジェクト: tgiphil/SmartIrcBot4net
        public IrcBot(Context context)
            : base(context)
        {
            DefaultPrefix = "!";

              OnChannelMessage += HandleOnChannelMessage;
              OnQueryMessage   += HandleOnQueryMessage;
              OnJoin += HandleOnJoin;
        }
コード例 #9
0
ファイル: FileStream.cs プロジェクト: vbatz258/manos
        public FileStream(Context loop, System.IO.FileStream stream, int blockSize)
            : base(loop, blockSize)
        {
            if (loop == null)
                throw new ArgumentNullException ("loop");
            if (stream == null)
                throw new ArgumentNullException ("stream");

            this.stream = stream;
        }
コード例 #10
0
ファイル: ManosTwitter.cs プロジェクト: txdv/meetcurses
        public ManosTwitter(Context context, OAuthTokens oauthtokens, TaskScheduler scheduler)
        {
            Context = context;
            TaskScheduler = scheduler;
            OAuthTokens = oauthtokens;

            callbacks = new AsyncWatcher<Action>(Context, (callback) => {
                callback();
            });
            callbacks.Start();
        }
コード例 #11
0
ファイル: HttpResponse.cs プロジェクト: vbatz258/manos
        public HttpResponse(Context context, IHttpRequest request, ITcpSocket socket)
            : base(context)
        {
            Request = request;
            Socket = socket;

            StatusCode = 200;

            WriteHeaders = true;

            Stream = new HttpStream (this, socket.GetSocketStream ());
            Stream.Chunked = (request.MajorVersion > 0 && request.MinorVersion > 0);
        }
コード例 #12
0
ファイル: HttpRequest.cs プロジェクト: toptensoftware/manos
        public HttpRequest(Context context, string address)
            : base(context)
        {
            Uri uri = null;

            if (!Uri.TryCreate (address, UriKind.Absolute, out uri))
                throw new Exception ("Invalid URI: '" + address + "'.");

            RemoteAddress = uri.Host;
            RemotePort = uri.Port;
            Path = uri.AbsolutePath;

            Method = HttpMethod.HTTP_GET;
            MajorVersion = 1;
            MinorVersion = 1;
        }
コード例 #13
0
ファイル: Application.cs プロジェクト: txdv/Mono.Terminal
		public static void Init(Context context)
		{
			Window.Init();

			Running = true;

			Curses.Raw = true;
			Curses.Echo = false;

			Curses.start_color();
			Curses.use_default_colors();

			Window.Standard.Keypad = true;

			Context = context;
		}
コード例 #14
0
ファイル: SignalWatcher.cs プロジェクト: txdv/Mono.Terminal
		public SignalWatcher(Context context, Signum[] signals, Action<Signum> callback)
		{
			Signals = signals;
			unixSignals = new UnixSignal[signals.Length];
			for (int i = 0; i < signals.Length; i++) {
				unixSignals[i] = new UnixSignal(signals[i]);
			}

			watcher = new AsyncWatcher<Signum>(context, (key) => {
				if (callback != null) {
					callback(key);
				}
			});

			thread = new Thread((o) => {
				while (true) {
					var index = UnixSignal.WaitAny(unixSignals);
					watcher.Send(Signals[index]);
				}
			});
		}
コード例 #15
0
ファイル: Socks4Server.cs プロジェクト: txdv/Manos.Socks
		public Socks4Server(Context context, Socket socket)
		{
			Context = context;
			Socket = socket;
			VersionCheck = true;
		}
コード例 #16
0
ファイル: IdentServer.cs プロジェクト: txdv/Manos.Socks
		public IdentServer(Context context)
		{
			Context = context;
			Encoding = Encoding.Default;
		}
コード例 #17
0
ファイル: HttpRequest.cs プロジェクト: toptensoftware/manos
 public HttpRequest(Context context, string remote_address, int port)
     : this(context, remote_address)
 {
     RemotePort = port;
 }
コード例 #18
0
ファイル: IdentClient.cs プロジェクト: txdv/Manos.Socks
		public IdentClient(Context context, string server)
			: this(context, server, 113)
		{
		}
コード例 #19
0
ファイル: AppHost.cs プロジェクト: hlesesne/manos
 static AppHost()
 {
     context = Context.Create ();
 }
コード例 #20
0
ファイル: Boundary.cs プロジェクト: nuxleus/manos
 public Boundary(Context context)
     : this(context, 18)
 {
 }
コード例 #21
0
ファイル: Socket.cs プロジェクト: toptensoftware/manos
 public Socket(Context loop)
     : base(loop)
 {
 }
コード例 #22
0
ファイル: ManosTwitter.cs プロジェクト: txdv/meetcurses
 public ManosTwitter(Context context, OAuthTokens oauthtokens)
     : this(context, oauthtokens, TaskScheduler.Default)
 {
 }