Class MessageField digunakan untuk menentukan pesan agar terjadi transmisi yang efisien di seluruh jaringan atau ruang proses. Pesan ditentukan menggunakan class kolom.
MessageField disediakan oleh modul
protorpc.messages.
Konstruktor
Konstruktor class MessageField didefinisikan sebagai berikut:
- class MessageField(message_type, number, [required=False | repeated=False])
-
Menentukan kolom untuk nilai sub-pesan.
Argumen- message_type
- Jenis pesan untuk kolom. Harus merupakan subclass dari Pesan.
- angka
- Jumlah kolom. Harus unik per class pesan.
- required=False
- Apakah kolom ini wajib diisi atau tidak. Tidak dapat muncul bersamaan dengan
argumen
repeated; jangan tentukanrepeated=Truejika Anda menggunakanrequired=True. - repeated=False
- Apakah kolom ini diulang atau tidak. Tidak dapat muncul bersamaan dengan
argumen
required; jangan tentukanrequired=Truejika Anda menggunakanrepeated=True.
Memicu FieldDefinitionError jika
message_typetidak valid.
Properti Class
Class MessageField menyediakan properti berikut:
- jenis
- Jenis Python yang digunakan untuk nilai kolom ini. Misalnya, dalam kasus DateTimeField,
typeadalahdatetime.datetime. Untuk MessageFields yang ditentukan pengguna,typeadalah jenis Pesan yang ditentukan. - message_type
- Jenis pesan dasar yang digunakan untuk serialisasi. Secara khusus, ini adalah jenis yang dapat Anda simpan pada instance class Message. Misalnya,
untuk DateTimeField,
jenisnya adalah
message_types.DateTimeMessage. Untuk kolom pesan normal, kolom ini akan menjadi subclass pesan protorpc. Contoh:class Sub(messages.Message): x = messages.IntegerField(1) class M(messages.Message): sub = messages.MessageField(Sub, 1) dt = message_types.DateTimeField(2) print 'M.sub.type =', M.sub.type print 'M.sub.message_type =', M.sub.message_type print 'M.dt.type =', M.dt.type print 'M.dt.message_type =', M.dt.message_type === output === M.sub.type = <class '__main__.Sub> M.sub.message_type = <class '__main__.Sub'> M.dt.type = <type 'datetime.datetime'> M.dt.message_type = <class 'protorpc.message_types.DateTimeMessage'>