rpc Package

client Module

class thriftpool.rpc.client.Client(app, producer)[source]

Bases: object

Provide simple interface to pass commands to slaves.

class Proxy(app, producer)

Bases: object

Proxy object that execute functions on other side.

Client.spawn[source]

Spawn given function in separate greenlet. Keyword argument proxy will be passed to provided function.

class thriftpool.rpc.client.Proxy(app, producer)[source]

Bases: object

Proxy object that execute functions on other side.

manager Module

class thriftpool.rpc.manager.Clients[source]

Bases: object

Manage clients.

class Client(app, producer)

Bases: object

Provide simple interface to pass commands to slaves.

class Proxy(app, producer)

Bases: object

Proxy object that execute functions on other side.

Clients.Client.spawn

Spawn given function in separate greenlet. Keyword argument proxy will be passed to provided function.

class Clients.Producer(loop, incoming, outgoing, process)

Bases: thriftpool.rpc.transport.Transport

Push commands to consumer.

apply

Enqueue new remote procedure call.

Clients.clear()[source]

Unregister all clients.

Clients.keys()[source]
Clients.register(process, callback=None, **kwargs)[source]

Create new producer for given process.

Clients.spawn[source]

Map given function to all clients.

Clients.unregister(pid)[source]

Stop and remove producer by process id.

transport Module

class thriftpool.rpc.transport.Consumer(loop, incoming, outgoing, handler)[source]

Bases: thriftpool.rpc.transport.Transport

Pull commands from consumer, execute them and return result.

start()[source]
stop()[source]
class thriftpool.rpc.transport.Producer(loop, incoming, outgoing, process)[source]

Bases: thriftpool.rpc.transport.Transport

Push commands to consumer.

apply[source]

Enqueue new remote procedure call.

class thriftpool.rpc.transport.Proto[source]

Bases: object

Mixin that produce encode and decode methods. Each packet represented by simple structure:

Length Request id (UUID) Pickled object
4 bytes 32 bytes undefined
class thriftpool.rpc.transport.Receiver(stream, emitter)[source]

Bases: thriftpool.rpc.transport.Proto

Receive request from channel.

WAIT_LENGTH = 1
WAIT_PAYLOAD = 2
start()[source]
stop()[source]
class thriftpool.rpc.transport.Transmitter(stream, emitter)[source]

Bases: thriftpool.rpc.transport.Proto

Write request to channel.

start()[source]
stop()[source]
write(obj, callback=None, request_id=None)[source]
class thriftpool.rpc.transport.Transport(loop, incoming, outgoing)[source]

Bases: object

Exchange messages on channel.

class Receiver(stream, emitter)

Bases: thriftpool.rpc.transport.Proto

Receive request from channel.

WAIT_LENGTH = 1
WAIT_PAYLOAD = 2
start()
stop()
class Transport.Transmitter(stream, emitter)

Bases: thriftpool.rpc.transport.Proto

Write request to channel.

start()
stop()
write(obj, callback=None, request_id=None)
Transport.start()[source]
Transport.stop()[source]
Transport.subscribe(listener)[source]
Transport.unsubscribe(listener)[source]
Transport.write(obj, callback=None, request_id=None)[source]

Project Versions

Table Of Contents

Previous topic

request Package

Next topic

utils Package

This Page