~markwright/scalestack/zeromq

« back to all changes in this revision

Viewing changes to scalestack/zeromq/echo/flood/socket_t.h

  • Committer: Mark Wright
  • Date: 2011-03-20 13:23:26 UTC
  • Revision ID: markwright@internode.on.net-20110320132326-uoh8y0yitqctlxka
Initial sketch, incomplete and untested

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * Scale Stack
 
3
 *
 
4
 * Copyright 2011 Mark Wright
 
5
 *
 
6
 * Licensed under the Apache License, Version 2.0 (the "License");
 
7
 * you may not use this file except in compliance with the License.
 
8
 * You may obtain a copy of the License at
 
9
 *
 
10
 *     http://www.apache.org/licenses/LICENSE-2.0
 
11
 *
 
12
 * Unless required by applicable law or agreed to in writing, software
 
13
 * distributed under the License is distributed on an "AS IS" BASIS,
 
14
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 
15
 * See the License for the specific language governing permissions and
 
16
 * limitations under the License.
 
17
 */
 
18
 
 
19
/**
 
20
 * @file
 
21
 * @brief ZeroMQ Echo Flood Declrations
 
22
 */
 
23
 
 
24
#ifndef SCALESTACK_ZEROMQ_ECHO_FLOOD_SOCKET_T_H
 
25
#define SCALESTACK_ZEROMQ_ECHO_FLOOD_SOCKET_T_H
 
26
 
 
27
#include <scalestack/zeromq/socket_t.h>
 
28
 
 
29
extern "C" void no_free (void *, void *);
 
30
 
 
31
namespace scalestack
 
32
{
 
33
namespace zeromq
 
34
{
 
35
namespace echo
 
36
{
 
37
namespace flood
 
38
{
 
39
 
 
40
class SCALESTACK_API socket_t: public zeromq::socket_t
 
41
{
 
42
public:
 
43
 
 
44
  socket_t(kernel::module& module);
 
45
 
 
46
  virtual void send_ready();
 
47
  virtual void recv_ready();
 
48
 
 
49
private:
 
50
  void send_recv();
 
51
  
 
52
  bool _sent;
 
53
  bool _received;
 
54
};
 
55
 
 
56
} /* namespace flood */
 
57
} /* namespace echo */
 
58
} /* namespace zeromq */
 
59
} /* namespace scalestack */
 
60
 
 
61
#endif /* SCALESTACK_ZEROMQ_ECHO_FLOOD_SOCKET_T_H */