Esempio n. 1
0
	public override int read(WvBytes b)
	{
	    lock (readlock)
	    {
		if (in_left > 0)
		{
		    int max = in_left <= b.len ? in_left : b.len;
		    b.put(0, inbuf.sub(in_ofs, max));
		    in_ofs += max;
		    in_left -= max;
		    if (in_left > 0)
			post_readable();
		    else
			start_reading();
		    return max;
		}
		else
		{
		    start_reading();
		    return 0;
		}
	    }
	}
Esempio n. 2
0
	public override int read(WvBytes b)
	{
	    if (inbuf.used > 0)
	    {
		int max = inbuf.used > b.len ? b.len : inbuf.used;
		b.put(0, inbuf.get(max));
		post_readable();
		return max;
	    }
	    else
		return base.read(b);
	}