org.jetlang.remote.client

## Interface JetlangClient

All Known Implementing Classes:
  JetlangTcpClient

    public interface JetlangClient

User: mrettig Date: 4/6/11 Time: 5:59 PM

### Method Summary

All Methods Instance Methods Abstract Methods
`LogoutResult` `close(boolean sendLogoutIfStillConnected)`
`void` `execOnSendThread(org.jetlang.core.Callback<SocketWriter> cb)`
`org.jetlang.channels.Subscriber<CloseEvent>` `getCloseChannel()`
`org.jetlang.channels.Subscriber<ConnectEvent>` `getConnectChannel()`
`org.jetlang.channels.Subscriber<DeadMessageEvent>` `getDeadMessageChannel()`
`org.jetlang.channels.Subscriber<ReadTimeoutEvent>` `getReadTimeoutChannel()`
`<T> void` `publish(String topic, T msg)`
`<T> org.jetlang.core.Disposable` `request(String reqTopic, Object req, org.jetlang.core.DisposingExecutor executor, org.jetlang.core.Callback<T> callback, org.jetlang.core.Callback<TimeoutControls> timeoutRunnable, int timeout, TimeUnit timeUnit)`
`void` `start()`
`<T> org.jetlang.core.Disposable` `subscribe(String topic, org.jetlang.core.DisposingExecutor clientFiber, org.jetlang.core.Callback<T> cb)`
`<T> org.jetlang.core.Disposable` `subscribe(String subject, org.jetlang.channels.Subscribable<T> callback)`

### Method Detail

#### getConnectChannel

    org.jetlang.channels.Subscriber<ConnectEvent> getConnectChannel()

#### getCloseChannel

    org.jetlang.channels.Subscriber<CloseEvent> getCloseChannel()

#### getReadTimeoutChannel

    org.jetlang.channels.Subscriber<ReadTimeoutEvent> getReadTimeoutChannel()

#### getDeadMessageChannel

    org.jetlang.channels.Subscriber<DeadMessageEvent> getDeadMessageChannel()

#### publish

    <T> void publish(String topic,
                     T msg)

#### subscribe

    <T> org.jetlang.core.Disposable subscribe(String subject,
                                              org.jetlang.channels.Subscribable<T> callback)

#### subscribe

    <T> org.jetlang.core.Disposable subscribe(String topic,
                                              org.jetlang.core.DisposingExecutor clientFiber,
                                              org.jetlang.core.Callback<T> cb)

#### start

    void start()

#### close

    LogoutResult close(boolean sendLogoutIfStillConnected)

#### request

    <T> org.jetlang.core.Disposable request(String reqTopic,
                                            Object req,
                                            org.jetlang.core.DisposingExecutor executor,
                                            org.jetlang.core.Callback<T> callback,
                                            org.jetlang.core.Callback<TimeoutControls> timeoutRunnable,
                                            int timeout,
                                            TimeUnit timeUnit)

#### execOnSendThread

    void execOnSendThread(org.jetlang.core.Callback<SocketWriter> cb)