Displaying 20 results from an estimated 10000 matches similar to: "epoll increasing latency big time"
2007 Sep 14
3
epoll appears to break
The following program is a minor variant on the sample given in the README
with eventmachine-0.8.1. I am running under CentOS 4.5 (kernel
2.6.9-55.0.2.plus.c4) with a ruby-1.8.5 RPM from the CentOS testing
repository.
When I run it, I find that set_comm_inactivity_timeout doesn''t do anything.
That is, if I client opens a connection, it stays open indefinitely.
However, if I comment out
2008 Jan 06
5
Having very odd problems with UDP.
I am using eventmachine 0.8.1 on windows XP and am having very odd problems.
This snippet of code gives the error that follows it.
class EchoServer
def receive_data data
puts data
send_data ">>>you sent: #{data}"
if data =~ /quit/i
puts "quitting"
close_connection
EventMachine::stop_event_loop
end
end
end
2007 May 24
4
Multiple EM connections on separate threads
Hi EM Gurus,
I''m hoping someone can shed some light on the following...
I''m using a 3rd party (legacy) server that can accept up to 8
simultaneous connections on one port.
I''ve been able to make multiple connections to this server from within
one call to EventMachine::run {...}.
Specificaly, I can access each connection separately using:
em_thread = Thread.new do
2007 Nov 07
4
Gracefully stopping EventMachine?
Hello all,
I''ve been learning Ruby and playing with a chat server I built using
GServer. After into an issue I found with GServer, that no one else seemed
to notice (actually, similar to this question, GServer is hard to kill
nicely, especially when you want to.), I found references to EventMachine,
and rebuilt my server using it. I much prefer EventMachine''s model.
The
2008 Aug 06
6
Event loop responsiveness + client
Hello, on the application that I''m working on, we are using Thin.
The server implements long polling and commands that alter its internal state.
Connecting to the long poll is a very fast operation, while updating
the state of the server is a relatively slow operation.
The long poll connection is held open until there is a change to be
sent to the connection.
Here is my current
2006 Nov 03
6
How to send data,
Hello,
First of all I''m new to working with sockets,
so the problems I''m having are probably because of my lack of understanding.
What I''m trying to accomplish is to create a mac os x client gui to ruby-debug.
When a application that includes ruby-debug is started,
it starts listening for 2 connections; 8989, 8990
The connection is made by calling the connectToApp
2006 Aug 08
11
Core dump using sample DumbHttpClient
I''m using the current release branch from the repository (version_0)
on freebsd 6.1 with ruby 1.8.4. This is the error that is generated
when running the code below at the bottom of the message, plus a gdb
bt. Sorry no debugging symbols built into ruby but maybe the bt will
help anyways.
terminate called after throwing an instance of ''std::runtime_error''
what():
2006 Dec 15
5
Testing event driven Socket classes
Ok, here is the class, I want to Unit Test, its part of a large app
and is based on EventMachine library.
I want to mock the class TickServer ( i.e not stub it) . Since in
actual scenario, you can''t do this on this class:
@server = TickServer.new # will toss an exception at your face
you must initialize the server like this:
EventMachine.run {
2008 Feb 11
1
unable to delete epoll event: Bad file
I know this error has been reported before, but a couple ppl have
reported getting this randomly when running Thin and it crashed the
server:
terminate called after throwing an instance of ''std::runtime_error''
what(): unable to delete epoll event: Bad file descriptor
I think it''s fixed on trunk now so I''m telling people that have this
issue to checkout
2008 Jan 04
13
Unable to delete epoll event
I occasionally get a fatal error
unable to delete epoll event: Bad file descriptor
I think the attached patch will fix it.
The patch does two things:
1) changes the error we look for from ENOENT to EBADF. It is hard to
reproduce this error, but if I change the epoll_ctl line to
epoll_ctl(epfd, EPOLL_CTL_DEL, 666, ed->GetEpollEvent());
it does return -1 with errno = EBADF on my Linux 2.6.9
2007 Dec 09
38
libevent
Hello,
I have been looking at the Ruby/EventMachine. First let me say it look very
good. Reactor model with no threads makes for fast reliable server, and I
have read about marvelous Twisted framework for Python and am glad to see
something similar for Ruby.
I am writing network app with Ruby threads now and it very slow, and I try
new Ruby 1.9 with native threads that make it much slower.
2007 Feb 26
9
libevent
Francis,
I read in the list archives back that a future EventMachine release
will support epoll on Linux (i.e., it''s in the trunk).
Better still, is there a possibility that EM will rely on libevent so
that it will be architecture independent (i.e. epoll on Linux, kqueue
on FreeBSD/Mac OS X, /dev/poll on Solaris)? This is how memcached is
implemented, and it would be helpful to be able
2008 Mar 18
1
Eventmachine utils
I''m working on StrokeDB* right now and put pieces of networking stuff
into a separate repository "Eventmachine utils". There are 3 useful
libs already: protocol chaining, messaging protocol and marshalled
messaging protocol. Check them out :-)
Overview:
http://gitorious.org/projects/eventmachine-utils
Files:
2008 Feb 07
6
Buffer flushing
Short question: is there way to tell EM to actually send data after
send_data call?
I''m building a file transferring app. I send Mashal.dump''ed metadata
first, and then - the file contents (chunked). I found a silly bug:
receive_data() gets marshalled metadata and the first chunk of the
file in a single variable.
Like that:
c1.send_data("meta")
2006 Aug 20
14
http parser
Just thought I''d let you know that your http parser worked great for
creating an http protocol handler for Eventmachine. It wouldn''t take
that much effort to use Eventmachine for Mongrel, might be worth a
shot just to see how it does. A few things would need to be
restructered, like HttpRequest where you read the rest of the body,
and calling the handler. But it
2007 Dec 14
21
Some silly benchs (was: 1.9)
Guys,
Just for fun, I tried to see (I know, a silly way to test it) how much
overhead we have calling the C functions of the extensions.
the benchmark script and the results:
http://pastie.caboo.se/128646
The naive C extension:
http://pastie.caboo.se/128647
I compared 1.8.6 (VC6 and mingw builds) against a fresh checkout of ruby trunk.
What I understand from that is 1.9 is slower than 1.8
2007 Nov 09
1
EventMachine::run - How can I ensure that this
Friends,
I am writing an event system which has an interface on a web site which can create events.
The creation of events opens up EventMachine::run and connects to the event server, and sends messages.
The problem comes if this is run inside of say, event driven mongrel, where it will crash fatally, the same as:
EventMachine::run { EventMachine::run { } }
The only solution that
2007 Feb 25
6
Crash occurs where EventMachine.connect is
Hi everyone,
If you subclass EventMachine::Connection and call it outside an
EventMachine::run
event loop, EventMachine crashes! Example:
class Put < EventMachine::Connection
include EventMachine::Deferrable
HOST="localhost"
PORT=8080
def self.request(data)
EventMachine.connect(HOST, PORT, self) {|c|
c.instance_eval { @data = data }
}
end
#
2008 Apr 23
2
Status of EventMachine.fork
Hi All,
I''m currently looking into doing a bit of evented network programming
in ruby and i''m currently looking into packet, eventmachine and rev.
The problem is that I need to be able to fork and start a new reactor
within the forked child (it also should open a socket and write
status information back to the main process). I have not been able to
do this with EventMachine.
2008 Jan 14
10
Using EventMachine to listen from non-network
I''ve actually found a way to make EventMachine listen to events from a
serial port, but only by using the pure Ruby version, using Guilliame
Pierronnet''s Ruby/SerialPort library. It turned out to be simpler
than I thought it would be:
require ''serialport''
$eventmachine_library = :pure_ruby
require ''eventmachine''
module EventMachine
class