keycloak-federation
公開メンバ関数 | 全メンバ一覧
org.freedesktop.dbus.AbstractConnection._sender クラス
org.freedesktop.dbus.AbstractConnection._sender の継承関係図
Inheritance graph
org.freedesktop.dbus.AbstractConnection._sender 連携図
Collaboration graph

公開メンバ関数

 _sender ()
 
void run ()
 

詳解

構築子と解体子

◆ _sender()

org.freedesktop.dbus.AbstractConnection._sender._sender ( )
inline
182  {
183  setName("Sender");
184  }

関数詳解

◆ run()

void org.freedesktop.dbus.AbstractConnection._sender.run ( )
inline
186  {
187  Message m = null;
188 
189  if (Debug.debug) Debug.print(Debug.INFO, "Monitoring outbound queue");
190  // block on the outbound queue and send from it
191  while (_run) {
192  if (null != outgoing) synchronized (outgoing) {
193  if (Debug.debug) Debug.print(Debug.VERBOSE, "Blocking");
194  while (outgoing.size() == 0 && _run)
195  try {
196  outgoing.wait();
197  } catch (InterruptedException Ie) {
198  }
199  if (Debug.debug) Debug.print(Debug.VERBOSE, "Notified");
200  if (outgoing.size() > 0)
201  m = outgoing.remove();
202  if (Debug.debug) Debug.print(Debug.DEBUG, "Got message: " + m);
203  }
204  if (null != m)
205  sendMessage(m);
206  m = null;
207  }
208 
209  if (Debug.debug) Debug.print(Debug.INFO, "Flushing outbound queue and quitting");
210  // flush the outbound queue before disconnect.
211  if (null != outgoing) do {
212  EfficientQueue ogq = outgoing;
213  synchronized (ogq) {
214  outgoing = null;
215  }
216  if (!ogq.isEmpty())
217  m = ogq.remove();
218  else m = null;
219  sendMessage(m);
220  } while (null != m);
221 
222  // close the underlying streams
223  }
Message remove()
Definition: EfficientQueue.java:84
boolean _run
Definition: AbstractConnection.java:251
EfficientQueue outgoing
Definition: AbstractConnection.java:252
void sendMessage(Message m)
Definition: AbstractConnection.java:995
int size()
Definition: EfficientQueue.java:103

このクラス詳解は次のファイルから抽出されました: